上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 27 下一页
摘要: 一、概述 使用一个中介对象来封装一系列的对象交互。中介者让各个对象无需显式地相互引用,从而达到解耦的效果。并且可以独立地改变它们之间的交互。二、适用性1.当一组对象以定义良好但复杂通信的时候。产生的相互依赖关系结构混乱且难以理解。2.当一个对象引用其他许多对象并且直接与这些对象通信的时候。会导致难以 阅读全文
posted @ 2017-09-03 22:40 皇问天 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 一、概述 给定一种语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。二、适用性1.当访问一个聚合对象的内容而无需暴露它的内部表示的时候。2.当对聚合对象的多种遍历提供支持的时候。3.当为了遍历不同的聚合结构提供一个统一的接口的时候(多态迭代)。 三、参与者1.I 阅读全文
posted @ 2017-09-03 22:40 皇问天 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 一、概述 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象的外部保存这个状态。以便以后可以将该对象恢复到原先保存的状态。 二、适用性 1.当需要保存一个对象在某个时刻的状态(部分)的时候,以便需要时可以恢复到先前保存的状态。2.当不愿意暴露对象的实现细节和破坏对象的封装性,又需要让其他对象 阅读全文
posted @ 2017-09-03 22:39 皇问天 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 一、概述 给定一种语言和其文法的一种表示,再定义一个解释器,该解释器使用表示来解释语言中的句子。 二、适用性 当需要解释一种语言,并且可以将该语言中的句子表示为一个抽象语法树的时候。 1.该文法简单对于复杂的文法,文法的类层次变得庞大而无法管理。 2.效率不是一个关键问题,最高效的解释器通常不是通过 阅读全文
posted @ 2017-09-03 22:38 皇问天 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 一、概述 定义对象之间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。二、适用性1.当一个抽象模型有两个方面,其中一个方面依赖于另一方面的时候。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。2.当对一个对象的改变需要同时改变其它对象,而且不 阅读全文
posted @ 2017-09-03 22:37 皇问天 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 一、概述 定义对象之间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 二、适用性 1.一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。2.一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。这个状态通常用一个或多 阅读全文
posted @ 2017-09-03 22:36 皇问天 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 1概述 定义一系列算法,把它们一个个都封装起来,并且让它们可以相互替换。策略模式使得算法可以独立于使用它的客户而发生变化。 2适用性 (1)许多相关的类仅仅是行为存在差异的时候。“策略” 阅读全文
posted @ 2017-09-03 22:35 皇问天 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 概述 表示一个作用于某对象结构中的各元素的操作。 它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 表示一个作用于某对象结构中的各元素的操作。 它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 适用性 1.一个对象结构包含很多类对象,它们有不同的接口,而你想对这些对象 阅读全文
posted @ 2017-09-03 22:34 皇问天 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 概述 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步 阅读全文
posted @ 2017-09-03 22:34 皇问天 阅读(159) 评论(0) 推荐(0) 编辑
摘要: import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.LinkedHashSet;import java.util.List;import java.u 阅读全文
posted @ 2017-08-15 17:31 皇问天 阅读(499) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 27 下一页