中介者模式(Mediator
Pattern),又称为调停者模式,定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互。应用场景概念解释模式角色1.
抽象中介者(Mediator)角色:抽象中介者角色定义统一的接口用于各...
分类:
其他好文 时间:
2014-05-16 05:19:53
阅读次数:
216
建造者(Builder)模式的定义是:将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。
首先它意图是要构建一个复杂的对像,而这个复杂的对像往往需要由好几个子对像或分步聚来完成最终的这个对象的构建,而这个复杂对象的子对像经常需要不断的变化,但它的构建过程是相对是稳定的。应用场...
分类:
其他好文 时间:
2014-05-16 05:05:58
阅读次数:
245
享元模式(Flyweight),使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元(from维基百科)。应用场景例如J...
分类:
其他好文 时间:
2014-05-16 04:49:36
阅读次数:
284
本文介绍一种行为型设计模式 Null Object(空对象)模式。
分类:
其他好文 时间:
2014-05-14 13:20:09
阅读次数:
241
组合模式(Composite
Pattern),又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。应用场景比如现实中公司内各部门的层级关系。概念解释将对象组合成树形结构以表示“部分整...
分类:
其他好文 时间:
2014-05-14 13:17:09
阅读次数:
284
几个设计模式的原则,简单了解了一下单一职责类的功能应该单一,就一个类而言,应该仅有一个引起它变化的原因,否则就要拆分。【大话设计模式】里大鸟和小菜用的DV的摄像功能和手机的摄像功能的比较,DV的功能单一,手机的功能多而复杂,小菜在看到UFO的时候赶紧拿出手机来录像,结果发现录的很不清楚,如果是DV的...
分类:
其他好文 时间:
2014-05-14 12:32:59
阅读次数:
185
装饰模式(Decorater)动态的给一个对象添加一些额外的职责。
就增加功能来说,装饰模式比生成子类更加灵活。装饰模式中有几个关键的地方:①装饰模式依赖于【装饰者】类中有一个父类对象(指针),
而装饰函数(或方法)用来此父类对象(指针)设置实际的动态类型。②因为是要给某个对象增加职责,所以很明显的...
分类:
其他好文 时间:
2014-05-14 12:03:06
阅读次数:
297
迭代器(Iterator)模式,又叫做游标(Cursor)模式。GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。应用场景在java中所有的集合类都实现了Conllection接口,而Conllection接口又继承了Iterable接口...
分类:
其他好文 时间:
2014-05-14 11:54:50
阅读次数:
256
解释器模式(Interpreter
Pattern)是一个应用比较少的模式,在软件构建过程中,如果某一特定领域的问题比较复杂,类似的模式不断重复出现,如果使用普通的编程方式来实现将面临非常频繁的变化。在这种情况下,将特定领域的问题表达为某种文法规则下的句子,然后构建一个解释器来解释这样的句子,从而达...
分类:
其他好文 时间:
2014-05-14 11:48:39
阅读次数:
225
备忘录模式(Memento Pattern)又叫做快照模式(Snapshot
Pattern)或Token模式,属于行为模式。定义(源于GoF《设计模式》):在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。应用场景以保存游戏进度为例...
分类:
其他好文 时间:
2014-05-14 11:37:32
阅读次数:
238