设计模式培训资料..docxVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计模式培训资料.

设计模式 (Design Patterns)目的了解23种设计模式掌握常用几种设计模式设计模式简介最早提出“设计模式”概念的是建筑设计大师亚力山大Alexander。在1970 年他的《建筑的永恒之道》里描述了投计模式的发现,因为它已经存在了千百年之久,而现代才被通过大量的研究而被发现。在《建筑的永恒之道》里这样描述:模式是一条由三个部分组成的通用规则:它表示了一个特定环境、一类问题和一个解决方案之间的关系。每一个模式描述了一个不断重复发生的问题,以及该问题解决方案的核心设计。尽管亚力山大的著作是针对建筑领域的,但他的观点实际上适用于所有的工程设计领域,其中也包括软件设计领域。“软件设计模式”,这个术语是在1990 年代由Erich Gamma 等人从建筑设计领域引入到计算机科学中来的。目前主要有23 种。创建型创建对象时,不再由我们直接实例化对象;而是根据特定场景,由程序来确定创建对象的方式,从而保证更大的性能、更好的架构优势。单例模式(Singleton)构建模式(Builder)原型模式(Prototype)简单工厂模式(Simple Factory)抽象工厂模式(Abstract Factory)工厂方法模式(Factory Method)结构型将类和对象组合起来,以构成更加复杂的结构 ,帮助开发人员将简单对象组合在一起形成更加复杂的结构,处理对象与对象之间的各种关系代理模式(Proxy)适配器模式(Adapter)装饰者模式(Decorator)组合模式(Composite)桥连接模式(Bridge)蝇量模式(Flyweight)外观模式(Facade)行为型用于帮助系统间各对象的通信,以及如何控制复杂系统中流程。策略模式(Strategy)状态模式(State)责任链模式(Chain of Responsibility)解释器模式(Interpreter)命令模式(Command)观察者模式(Observer)备忘录模式(Memento)迭代器模式(Iterator)模板方法模式(Template Method)访问者模式(Visitor)中介者模式(Mediator)23种设计模式常见设计模式介绍单例模式(singleton)有些时候,允许自由创建某个类的实例没有意义,还可能造成系统性能下降。如果一个类始终只能创建一个实例,则这个类被称为单例类,这种模式就被称为单例模式。单例模式主要有如下两个优势:1) 减少创建Java 实例所带来的系统开销2) 便于系统跟踪单个Java 实例的生命周期、实例状态等。简单工厂(StaticFactory Method)简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。A 实例调用B 实例的方法,称为A 依赖于B。如果使用new 关键字来创建一个B 实例(硬编码耦合),然后调用B 实例的方法。一旦系统需要重构:需要使用C 类来代替B 类时,程序不得不改写A 类代码。而用工厂模式则不需要关心B 对象的实现、创建过程。使用简单工厂模式的优势:让对象的调用者和对象创建过程分离,当对象调用者需要对象时,直接向工厂请求即可。从而避免了对象的调用者与对象的实现类以硬编码方式耦合,以提高系统的可维护性、可扩展性。工厂模式也有一个小小的缺陷:当产品修改时,工厂类也要做相应的修改。工厂方法(Factory Method)和抽象工厂(Abstract Factory)如果我们不想在工厂类中进行逻辑判断,程序可以为不同产品类提供不同的工厂,不同的工厂类和产不同的产品。当使用工厂方法设计模式时,对象调用者需要与具体的工厂类耦合,如:使用简单工厂类,需要在工厂类里做逻辑判断。而工厂类虽然不用在工厂类做判断。但是带来了另一种耦合:客户端代码与不同的工厂类耦合。为了解决客户端代码与不同工厂类耦合的问题。在工厂类的基础上再增加一个工厂类,该工厂类不制造具体的被调用对象,而是制造不同工厂对象。如:外观模式(Facade)随着系统的不断改进和开发,它们会变得越来越复杂,系统会生成大量的类,这使得程序流程更难被理解。外观模式可为这些类提供一个简化的接口,从而简化访问这些类的复杂性。外观模式(Facade)也被称为正面模式、门面模式,这种模式用于将一组复杂的类包装到一个简单的外部接口中。代理模式(Proxy)代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到的角色有:抽象角色:声明真实对象和代理对象的共同接口;代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提

文档评论(0)

cjbckk + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档