声明:本系列博客参考资料《大话设计模式》,作者程杰。
访问者模式表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。
UML类图:
角色:
1.抽象访问者(State):为该对象结构中具体元素角色声明一个访问...
分类:
Web程序 时间:
2015-06-11 11:09:07
阅读次数:
124
声明:本系列博客参考资料《大话设计模式》,作者程杰。
职责链模式(又叫责任链模式)包含了一些命令对象和一些处理对象,每个处理对象决定它能处理那些命令对象,它也知道应该把自己不能处理的命令对象交下一个处理对象,该模式还描述了往该链添加新的处理对象的方法。
UML类图:
角色: ...
分类:
Web程序 时间:
2015-06-11 11:07:21
阅读次数:
152
声明:本系列博客参考资料《大话设计模式》,作者程杰。
备忘录模式又叫做快照模式或Token模式,在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。
UML类图:
角色: ...
分类:
Web程序 时间:
2015-06-10 12:27:21
阅读次数:
171
声明:本系列博客参考资料《大话设计模式》,作者程杰。
状态模式当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。
UML类图:
角色...
分类:
Web程序 时间:
2015-06-10 12:24:59
阅读次数:
119
声明:本系列博客参考资料《大话设计模式》,作者程杰。
模板模式准备一个抽象类,将部分逻辑以具体方法以及具体构造形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。先制定一个顶级逻辑框架,而将逻辑的细节留给具体的子类去实现。
UML类图:
...
分类:
Web程序 时间:
2015-06-10 12:19:16
阅读次数:
124
声明:本系列博客参考资料《大话设计模式》,作者程杰。
中介者模式用一个中介者对象来封装一系列的对象交互。中介者使得各对象不需要显式地相互引用,从而使其松散耦合,而且可以独立地改变它们之间的交互。
UML类图:
角色:
中介者接口(UnitedNations):在里...
分类:
Web程序 时间:
2015-06-09 21:55:00
阅读次数:
184
声明:本系列博客参考资料《大话设计模式》,作者程杰。
迭代器模式:迭代器模式是遍历集合的成熟模式,迭代器模式的关键是将遍历集合的任务交给一个叫做迭代器的对象,它的工作时遍历并选择序列中的对象,而客户端程序员不必知道或关心该集合序列底层的结构。
UML类图:
角色:
Itera...
分类:
Web程序 时间:
2015-06-08 23:26:56
阅读次数:
240
声明:本系列博客参考资料《大话设计模式》,作者程杰。
命令模式:在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式。...
分类:
Web程序 时间:
2015-06-04 21:08:01
阅读次数:
117
声明:本系列博客参考资料《大话设计模式》,作者程杰。
观察者模式(有时又被称为发布-订阅模式)。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。
UML类图:
重...
分类:
Web程序 时间:
2015-06-03 23:33:38
阅读次数:
156
声明:本系列博客参考资料《大话设计模式》,作者程杰。
解释器模式:Given a language, define arepresentation for its grammar along with an interpreter that uses therepresentation to interpret sentences in the language。给定一个语言...
分类:
Web程序 时间:
2015-05-31 21:41:16
阅读次数:
224