一、UML图
二、概念
三、说明
四、C++实现
(1)ChainOfResponsibility.h
(2)Client.cpp
(3)运行截图...
分类:
编程语言 时间:
2014-12-25 23:41:56
阅读次数:
319
以前一提到UML,就想到了复杂的流程图。很敬佩哪些想想就能画出整个系统的UML图的人,因为他们头脑中有整个软件架构的蓝图,这样在编写实现的时候,就会知道哪个地方改怎么做,哪个地方如何扩展。 而想成为架构师,UML也是必备的技能。这里就根据《大象——Thinking in UML》总结一些学习笔...
分类:
其他好文 时间:
2014-12-23 21:07:40
阅读次数:
134
一、UML图
二、概念
命令模式(Command):将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求进行排队或记录请求日志,以及支持可撤销的操作。
三、说明
角色:
(1)Command类:用来声明执行操作的接口。
(2)ConcreteCommand类:将一个接收者对象绑定与一个动作,调用接收者相应的操作,以实现Excute。
(3)...
分类:
编程语言 时间:
2014-12-23 19:30:39
阅读次数:
219
一、UML图
二、概念
桥接模式(Bridge):将抽象部分与它的实现部分分离,使他们都可以独立地变化。
三、说明
为什么叫“桥接模式”?
如上所示的UML图中,有一个聚合线,像一座桥,所以叫“桥接模式”。
概念解释:
什么叫抽象与它的实现分离,这并不是说,让抽象类与其派生类分离,因为这没有任何意义。实现指的是抽象类与它的派生类用来实现自己的对象。
...
分类:
编程语言 时间:
2014-12-23 12:23:53
阅读次数:
165
一、UML图
二、概念
迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。
三、说明
什么时候用?
(1)当你需要访问一个聚集对象,而且不管这些对象时什么都需要遍历的时候,你就应该考虑用迭代器模式。
(2)你需要对聚集有多种遍历时,可以考虑用迭代器模式。
(3)为遍历不同的聚集结构提供如开始、下一个、是否...
分类:
编程语言 时间:
2014-12-23 09:02:24
阅读次数:
265
一、UML图
二、概念
组合模式(Composite):将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。
三、说明
角色:
(1)Component:为组合中的对象声明接口,在适当情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component 的子部件。
(2)Leaf:在组合中白哦是...
分类:
编程语言 时间:
2014-12-22 18:06:27
阅读次数:
263
一、UML图
二、概念
备忘录(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将对象恢复到原先保存的状态。
三、说明
角色:
(1)Originator(发起人):负责创建一个Memento,用以记录当前时刻它的内部状态,并可以使用备忘录恢复内部状态。Originator可以根据需要决定Memento存储...
分类:
编程语言 时间:
2014-12-21 23:40:24
阅读次数:
359
一、UML图
二、概念
适配器模式:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原来由于接口不兼容而不能一起工作的那些类可以一起工作。
三、说明
(1)在想使用一个已存在的类,但是如果他的接口,也就是它的方法和你的要求不相同时,就应该考虑用适配器模式。
(2)用了适配器模式,客户代码可以统一调用统一接口就行了,这样可以更简单,更直接,更紧凑。...
分类:
编程语言 时间:
2014-12-21 18:00:58
阅读次数:
211
一、UML图
二、概念
观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。
三、说明
角色:
(1)Subject类:可以翻译为主题或者抽象通知者,一般用一个抽象类或者一个接口实现。他把所有对观察者对象的引用保存在一个聚集里,每个主题都可以有任何数量的观察者。抽象主题提供一个接...
分类:
编程语言 时间:
2014-12-21 12:44:53
阅读次数:
288
一、UML图
二、概念
建造者模式(Builder):将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。
三、说明
角色:
(1)Builder:是为创建一个Product对象的各个部件指定的抽象接口。
(2)ConcreteBuilder:是具体创建者,实现Builder接口,构造和装配各个部件。
(3)Product:具体的产品角色...
分类:
编程语言 时间:
2014-12-18 17:04:49
阅读次数:
166