- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 根据两条准则对模式进行分类。 第一是目的准则,即模式是用来完成什么工 作的。模式依据其目的可分为创建型( C r e a t i o n a l )、结构型 S t r u c t u r a l 、或行为型 B e h a v i o r a l 三种。 创建型模式与对象的创建有关;结构型模式处理类或对象的组合;行为型 模式对类或对象怎样交互和怎样分配职责进行描述。 第二是范围准则,指定模式主要是用于类还是用于对象。类模式处理类和子类之间的关 系,这些关系通过继承建立,是静态的,在编译时刻便确定下来了。对象模式处理对象间的 关系,这些关系在运行时刻是可以变化的,更具动态性。从某种意义上来说,几乎所有模式 都使用继承机制,所以“类模式”只指那些集中于处理类间关系的模式,而大部分模式都属 于对象模式的范畴。 有些模式经常会被绑在一起使用,例如, C o m p o s i t e常和 I t e r a t o r或Vi s i t o r一起使用;有些模式是可替代的,例如, P r o t o t y p e常用来替代A b s t r a c t F a c t o r y;有些模式尽管使用意图不同,但产生的设计结果是很相似的,例如, C o m p o s i t e和 D e c o r a t o r的结构图是相似的。 * 例如,如果你在文本组合算法中使 用了S t r a t e g y模式,那么你可能有名为S i m p l e L a y o u t S t r a t e g y或Te X L a y o u t S t r a t e g y这样的类。 Iterator(迭代器):提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。 Mediator(中介者):用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 Memento(备忘录):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到保存的状态。 Observer(观察者):定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。 Prototype(原型):用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。 Proxy(代理):为其他对象提供一个代理以控制对这个对象的访问。 Singleton(单件):保证一个类仅有一个实例,并提供一个访问它的全局访问点。 State(状态):允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它所属的类。 Strategy (策略):定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。 Template Method(模板方法):定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 Visitor(访问者):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 根据两条准则对模式进行分类: 目的,即模式是用来完成什么工作的。 创建型(Creational):与对象的创建有关,以灵活的方式创建对象的集合; 结构型 Structural :处理类或对象的组合,代表相关对象的集合; 行为型 Behavioral :对类或对象怎样交互和怎样分配职责进行描述,在对象集合中捕获行为。 范围,指定模式主要是用于类还是用于对象。 类模式处理类和子类之间的关系,这些关系通过继承建立,是静态的,在编译时刻便确定下来了。 对象模式处理对象间的关系,这些关系在运行时刻是可以变化的,更具动态性。 从某种意义上来说,几乎所有模式都使用继承机制,所以“类模式”只指那些集中于处理类间关系的模式,而大部分模式都属于对象模式的范畴。 设计模式空间 目 的 创建型 结构型 行为型 范围 类 Factory Method Adapter 类 Interpreter Template Method 对象 Abstract Factory Adapter 对象 Chain of Responsibility Builder Bridge Command Prototype Composite Iterator Singleton Decorator Mediator Facade Memento Flyweight Observer Proxy State Strategy
文档评论(0)