网站大量收购独家精品文档,联系QQ:2885784924

设计模式-1.概述.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计模式-1.概述

第一章 软件体系结构概述;授课教师 姓名:张伟芝 邮箱:zhangweizhi@edu2act.org 电话QQ:;课程内容 课程简介 课程内容及学习方式 第一个设计模式——单例模式 好设计的原则;课程内容 课程简介 课程内容及学习方式 第一个设计模式——单例模式 好设计的原则;;教材及参考书;考核方式 必修课 36学时、2学分 平时成绩:30% 平时表现:10%(课堂提问、课堂纪律、课堂出勤) 平时作业:20%(以4~5人为一个小组) 期末成绩:70% 考试形式:闭卷、笔试 ;课程内容 课程简介 课程内容及学习方式 第一个设计模式——单例模式 好设计的原则;我们讲什么? 设计模式 体系结构模式;什么是模式? 模式是一条由三部分组成的规则。 一个特定环境、一个问题、一个解决方案。;他们之间的关系;学习的方式;;全国交通违法数据联网——环境;全国交通违法数据联网——问题 平台异构 语言异构 系统架构异构 ;全国交通违法数据联网——解决方案;课程内容 课程简介 课程内容及学习方式 第一个设计模式——单例模式 好设计的原则;第一个设计模式——单例模式;第一个设计模式——单例模式 单例模式要解决的问题——独生子女 解决方案——Static;第一个设计模式——单例模式;课程内容 课程简介 课程内容及学习方式 第一个设计模式——单例模式 好设计的原则;设计正在“腐烂”的征兆 过于僵硬Rigidity 过于脆弱Fragility 不可重用性immobility 粘滞性过高viscosity 好的系统设计应该具备如下三个性质 可扩展性(Extensibility) 灵活性(Flexibility) 可插入性(Pluggability) ;面向对象设计原则;单一职责原则 高内聚性原则 避免相同的职责(也称为功能)分散到不同的类中实现。 避免一个类承担过多的职责。;单一职责原则示例 类的设计主要工作是“发现职责”并“分离职责”;遵守单一职责原则的设计模式 工厂模式 分离对象的“创建”和对象的“使用”;遵守单一职责原则的设计模式 模板方法模式 分离 “共性功能实现”和“个性扩展”;遵守单一职责原则的设计模式 命令模式 分离“命令的请求者”和“命令的实现者”;遵守单一职责原则的设计模式 代理模式 分离 “服务的请求者”和“服务的提供者”;遵守单一职责原则的体系结构模式 一个模块、子系统也应该仅有一个引起它变化的原因;开闭原则 Open(Open for extension) 模块的行为必须是开放的、支持扩展的,而不是僵化的 Closed(Closed for modification) 在对模块的功能进行扩展时,不应该影响或大规模地影响已有的程序模块 绝大部分的设计模式都符合开闭原则 抽象化是开闭原则的关键 ;里氏代换原则 主要是针对继承的设计原则 子类型必须能够替换掉它们的父类型、并出现在父类能够出现的任何地方。 子类可以扩展父类的功能,但不能改变父类原有的功能。 ;里氏替换原则 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。 子类中可以增加自己特有的方法。 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。 ;依赖倒置原则 将依赖关系倒置为依赖接口 上层模块不应该依赖于下层模块,它们共同依赖于一个抽象 父类不能依赖子类,它们都要依赖抽象类 抽象不能依赖于具体,具体应该要依赖于抽象 ;接口隔离 一个类对另外一个类的依赖性应当是建立在最小的接口上 客户端不应该依赖那些它不需要的接口(方法);如何避免不良好的接口设计 用多个专门的接口,而不使用单一的总接口。 一个接口就只代表一个角色 使用接口隔离原则拆分接口时,首先必须满足单一职责原则;合成复用原则 又称为组合/聚合复用原则 尽量使用对象组合,而不是继承来达到复用目的 一个新的对象里通过关联关系(包括组合关系和聚合关系)来使用一些已有的对象 新对象通过委派调用已有对象的方法达到复用其已有功能的目的;合成复用原则 继承复用:实现简单,易于扩展,没有足够的灵活性(“白箱”复用 );合成复用原则 组合/聚合复用:耦合度相对较低,选择性地调用成员对象的操作;可以在运行时动态进行。(“黑箱”复用 );迪米特法则 要求一个软件实体应当尽可能少的与其他实体发生相互作用 又称为最少知识原则 不要和“陌生人”说话 只与你的直接朋友通信 每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位;迪米特法则 某系统界面类(如Form1、Form2等类)与数据访问类(如DAO1、DAO2等类)之间的

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档