- 1、本文档共71页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
uml建模12_设计模式
设计模式 什么是设计模式? 设计就是解决方案—对某个问题的解决 如果某个解决方案对某类问题都很有用 这时就把它总结出来 这就产生了设计模式 设计模式的基本要素 1. 名称:用于助记,形象表示这个模式 2. 问题:这个模式可以解决什么问题 3. 解决方案:这个模式怎样解决这个问题的步骤与方法 4. 效果:使用这个模式与不使用这个模式有什么区别,它有什么优点和缺点 设计模式的基本思想-1 软件是在不断进化的 需求在不断改变,所以软件应该适应变化 设计模式是为了让软件更加适应变化,有更多的可复用性;就是有变化时你不用从头重写一次这个软件 如何适应变化? 就应该封装变化,让变化的影响最小 封装复杂性,提供简单的接口 设计模式的基本思想-2 1. 松耦合 2. 针对接口编程,而不是针对实现编程 3. 继承、组合、委托、多态、参数化 二、经典设计模式GoF GoF模式分类-1 根据模式的目的(用来完成什么工作的) 创建型模式 结构型模式 行为型模式 根据模式的作用范围(是处理类还是处理对象的): 类模式 对象模式 GoF模式分类-2 创建型模式 创建型(Creational):解决如何创建对象的问题。 创建型类模式将对象的部分创建工作延迟到子类 创建型对象模式将它延迟到另一个对象中 结构型模式 结构型(Structural):解决如何正确的组合类或对象的问题。 结构型类模式使用继承机制来组合类 结构型对象模式描述了对象间的组装方式 行为型模式 行为型(Behavioral):解决类或对象之间如何交互和如何分配职责的问题 行为型类模式使用继承描述算法与控制法 行为型对象模式则描述一组对象怎样协作完成单个对象无法完成的工作 设计模式之Facade 设计模式之Facade 刻面模式要求一个子系统的外部与其内部的通信必须通过一个统一的刻面(Facade)对象进行.刻面模式提供一个高层次接口,使得子系统更易于使用. 实例 一个例子:保安系统.一个保安系统由两个录像机,三个电灯,一个遥感器和一个报警器组成.操作人员需要经常将这些仪器启动和关闭. 不使用Facade模式 使用Facade模式 特点 模式二、抽象工厂模式 抽象工厂模式属于对象创建型设计模式,其目的是给客户程序提供一个创建一系列相关或相互依赖的对象的接口,而无须在客户程序中指定要具体使用的类。 封装了产品类和创建者的动态变化,从而使依赖于这些易变对象的客户程序不会随着产品类而变化 将使用产品对象的工作和创建这些产品对象的责任分开,使得使用产品的客户不需要直接参与产品的创建工作,而只需要向一个公用的工厂接口请求所需要的产品 抽象工厂模式的意图 意图 抽象工厂模式可以向客户端提供一个接口,是的客户端在不必指定产品的具体类型的情况下,创建多个产品族中的产品对象。这就是抽象工厂模式的用意。 产品族:所谓产品族,是指位于不同产品等级结构中,功能相关联 的产品组成的家族。位于不同的等级结构中的相同位置上。 抽象工厂模式 结构 抽象工厂模式的设计 系统的设计 抽象工厂的角色 抽象工厂(AbstractFactory)角色:担任这个角色的是工厂方法模式的核心,他是与应用程序无关的。 具体工厂(ConcreteFactory)角色:担任这个角色的是实现了抽象工厂接口的具体类。 抽象产品(AbstractProduct)角色 具体产品(ConcreteProduct)角色 抽象工厂实例 模式特点 特点 三、ROSE中使用设计模式 小结 END 作业: 列出常见的结构型设计模式(中英文名称) 请简要回答刻面设计模式、抽象工厂模式、访问者模式的特点,一般结构和应用场合? 《设计模式》Erich Gamma Richard Helm等,机械工业出版社 《Design Patterns in Java》James W. Cooper 附录 模式的未来 重构为模式的发展指明了方向 Aspect-Oriented Programming与OO模式的结合 与敏捷方法(例如XP)的互补结合 结合模式和重构的自动化工具 完整的“大统一”模式理论 Chain of Responsibility Command Iterator Mediator Memento Observer State Strategy Visitor Adapter_Object Bridge Composite Decorator Facade Flyweight Proxy Abstract Factory Builder Prototype Singleton 对象 Interpreter Template Method Adapter_Class Factory Method 类 行为型 结构型 创建型 2.1 创建型模
文档评论(0)