《设计模式01》.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《设计模式》 主讲: 陈伟 Email:ccchenwei@163.com 第一部分 设计模式基础 §1.1 面向对象设计与复用 §1.2 设计的模式 §1.3 类设计的UML表示 §1.4 OO设计的原则 §1.5 设计模式说明 分类方法 四个要素 §1.1 面向对象设计与复用 面向对象设计的层次 框架级设计 类设计 代码设计 类设计中考虑哪些问题? 如何进行类设计 类设计中难点在于—变化的存在 变化与维护性 类设计考虑的问题 类的组织与表示 类的发现 聚类分析 类的再抽象 类的拆分 类的可见性 类的复用性 行为的组织与表示 行为的参与者 行为的分组与接口 行为的分解 行为的可见性 行为的返回结果 行为的差异 变化与复用 变化 职责的变化(接口、功能的变化) 实现的变化(数据表示、行为的变化) 面向对象的复用 §1.2 模式的层次 框架(Framework) MVC及Document/View COM/DCOM/EJB/… 其它(Spring、Hibernate等) 设计模式 微模式 微模式(Micro Pattern)例 If ( ord == 0 ) { }else if (ord ==2) { }else if (ord ==60) { } else { } switch ( ord ) { case 0: break; case ‘A’: break; case ‘\0’: break; default: break; } §1.3 类间关系及UML表示 关联关系(水平关系, 类级关系) 普通关联 部分/整体关联 依赖关系(水平关系,实例级关系) 泛化关系(垂直关系) 父类和子类 抽象类和具体类 实现关系 接口类与实现类 模版与模版类 普通关联 普通关联 单向关联(相识关系) 组合(合成)关系 聚集(聚合)关系 依赖关系(实例级关联) 泛化关系 实现关系 §1.4 OO设计的原则 基本原则 抽象与封装原则 接口编程,而不是针对实现编程 组合优先原则(而不是继承) 单一职责原则(The single responsibility) 开闭原则(Open-Close Principle) 里氏替换原则(The Liskov substitution ) 依赖倒转原则 多接口分离原则 迪米特法则(委托而不是直接交互) 基本原则 抽象与封装原则 分离稳定与变化 封装变化 抽象变化接口 针对接口编程,而不是针对实现编程 组合优先原则(而不是继承) 分离稳定与变化 职责是否变化 实现是否变化 class IClock { public: virtual void SetCurrent(); virtual void Draw( ); }; 针对接口编程 Class MyClass { Private: IClock * aClock; //不采用 BaseClock * aClock; }; 组合优先 class A { //… }; 单一职责原则(The single responsibility) 类的职责不要过多 单一职责可有效降低类间的耦合度,提高内聚度 职责的划分不可过于机械 开闭原则(Open-Close Principle) 对扩展开放,对修改关闭 禁止修改,允许扩展 这是我们的追求!!! 里氏替换原则(The Liskov substitution ) 任何出现父类的地方,均可用子类替换; 必须正确地使用继承 限制RTTI的使用 依赖倒转原则 倒转是指:与结构化设计方法正好相反; 结构化中依赖:高层依赖于底层具体实现; OO中依赖:高层只依赖于底层的抽象类和接口;即底层的实现类依赖抽象类和接口。 依赖倒置说明 多接口分离原则 一个接口类的职责不要太多 可分为多个接口 使变化更灵活,提高移植性 使用多接口 迪米特法则(委托而不是直接交互) 交互过多,将增加类的耦合度 引入中间类,负责交互工作,降低耦合度 §1.5 设计模式说明 什么是设计模式 分类方法 行为型模式 结构型模式 创建型模式 四个要素 模式名称 应用场景 解决方案 效果及说明 对象的生命周期 * * 属性的组织与表示 本征属性 可计算属性 复合属性 只读/只写属性 不变属性 类变量与类属性 设计时属性与运行时属性 变化的适应方式 修改既有代码的缺点 既有代码的获取问题 改变实现的顾虑 改变接口的顾虑 扩展既有代码 继承方式扩展 依赖方式扩展 关联方式扩展 聚合方式扩展 组合方式扩展 复用的价值 main

文档评论(0)

精品文库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档