软件体系结构与设计模式 第十九章 模式分类.ppt_第1页
软件体系结构与设计模式 第十九章 模式分类.ppt_第2页
软件体系结构与设计模式 第十九章 模式分类.ppt_第3页
软件体系结构与设计模式 第十九章 模式分类.ppt_第4页
软件体系结构与设计模式 第十九章 模式分类.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十九章模式分类 一 创建型模式 涉及对象的实例化 工厂方法 定义一个用于创建对象的接口 让子类决定实例化哪一个类 生成器模式 将一个复杂对象的构建与它的表示分离 原型模式 通过复制原型创建新的对象 单件模式 保证一个类仅有一个实例 二 行为型模式 合理地设计对象之间的交互通信 责任链模式 避免请求的发送者和接收者之间的耦合关系 中介者模式 用一个中介对象来封装一系列的对象交互 观察者模式 定义对象间的一种一对多的依赖关系 当一个对象的状态发生变化时 所有依赖于它的对象都得到通知并被自动更新 状态模式 允许一个对象在其内部状态改变时改变它的行为 策略模式 定义一系列算法 把它们一个个封装起来 并且使它们可相互替换 三 结构型模式 如何组合类和对象以形成更大的结构 适配器模式 将一个类的接口转换成客户希望的另外一个接口 组合模式 将对象组合成树形结构以表示 部分 整体 的层次关系 装饰模式 动态地给对象添加一些额外的职责 享元模式 运用共享技术有效地支持大量细粒度对象 创建模式lBuilder 如何创建一个组合对象 变更要求 复合对象的构成要素 内部表现形式的变更 扩充要求 复合对象的新的表现形式的追加 通过追加类Builder的子类ConcreteBuilder 可以生成包含新的表现形式的复合对象 四 设计模式的Hot Spot规范 lFactoryMethod 被实例化的子类 变更要求 应该生成的产品对象的变更 导入生成类ConcreteProduct 对应该产品对象的类 的对象的类ConcreteCreator 扩充要求 新的产品对象的追加 追加Creator的子类ConcreteCreator 约束 产品对象的接口的变更 由于要变更所有的产品类的接口 修改Product的接口很困难 Singleton 一个类的唯一实例 该模式是处理对象的唯一性的模式 与柔软性 扩充性没有关系 结构模式lAdapter 对象的接口 变更要求 既存对象的interface的变更 通过改变既存类的Adapter类 可以达到不修改既存类而改变interface的目的 扩充要求 在既存对象中增加新的interface 通过追加新的类Adapter 可以达到不修改对象而增加新的功能的目的 Composite 一个对象的结构和组成 扩充要求 在对象的部分 全体结构中追加新的对象或组合对象 通过追加Component的子类 可以达到追加新的要素 对象 的目的 约束 定义部分 全体的抽象接口的Component类的行为的扩充比较困难 Decorator 对象的职责 不生成子类 变更要求 对象职责的变更 改变Decorator类的子类 扩充要求 不定义子类而追加对象的职责和行为 约束 不能改变由Decorator类修饰的对象的接口 行为模式ChainofResponsibility 满足一个请求的对象 变更要求 在 要求 的传递过程中 变更处理 要求 的对象 扩充要求 在 要求 的传递过程中 变更处理 要求 的方法 定义处理这个 要求 的Handler的子类 Mediator 对象间怎样交互 和谁交互 变更要求 对象群的相互作用的变更 在Mediator类中封装对象群的相互作用和关联 这些行为可以通过定义Mediator的子类进行变更 Observer 多个对象依赖于另外一个对象 而这些对象又如何保持一致 变更要求 状态发生变化的对象和它的关联对象分别进行变更 扩充要求 依存于某个对象的新的对象的追加 State 对象的状态 变更要求 状态转移的代码的变更 通过改变State类的具体类的行为来实现 扩充要求 新的状态和新的状态转移的追加 通过追加State类的新的子类来实现 Strategy 算法封装 变更要求 算法的变更 对想要变更的算法的ConcreteStrategy类进行变更 扩充要求 新的算法的追加 追加S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论