posted @ 2016-07-07 10:02 浅墨浓香 阅读(448) 评论(0) 推荐(0) 编辑
摘要:
1. 访问者模式(Visitor Pattern)的定义 (1)定义:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 ①模式是要解决当为对象添加新的操作和功能时候,如何尽可能不修改对象的类的一种方法。一般为对象添加功能,是需要向对象添加成员 阅读全文
摘要:
1. 模板方法模式(Template Method Pattern)的定义 (1)定义:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 (2)模板方法模式的结构和说明 ①AbstractClass:抽象类。用于定义算法骨 阅读全文
posted @ 2016-07-04 23:28 浅墨浓香 阅读(815) 评论(0) 推荐(0) 编辑
摘要:
1. 策略模式(Strategy Pattern)的定义 (1)定义:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。 ①算法是同一接口的不同实现,地位是平等的,可以相互替换。 ②引入上下文对象,可以实现让算法能独立使用它的客户。因为这个对象负 阅读全文
posted @ 2016-07-04 10:14 浅墨浓香 阅读(463) 评论(0) 推荐(0) 编辑
摘要:
1. 状态模式(State Pattern)的定义 (1)定义:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 ①状态和行为,它们的关系可以描述为“状态决定行为” ②因状态是在运行期被改变,行为也会在运行期根据状态的改变而改变。看起来,同一个对象,在不同的运行时刻,行为是不 阅读全文
posted @ 2016-07-03 13:30 浅墨浓香 阅读(1360) 评论(0) 推荐(0) 编辑
摘要:
1. 观察者模式(Observer Pattern)的定义 (1)定义:定义对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 (2)观察者模式的结构和说明(拉模型) ①Subject:目标对象,通常具如的功能:一个目标可以被多个观察者观察;目标提供 阅读全文
posted @ 2016-06-30 12:30 浅墨浓香 阅读(468) 评论(0) 推荐(0) 编辑
摘要:
1. 备忘录模式(Memento Pattern)的定义 (1)定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 ①不破坏封装性:对象不能暴露它不应该暴露的细节。 ②捕获对象的内部状态:保存状态的目的是为了恢复,把以将某个对 阅读全文
posted @ 2016-06-28 12:17 浅墨浓香 阅读(372) 评论(0) 推荐(0) 编辑
摘要:
1. 中介者模式(Mediator Pattern)的定义 (1)定义:用一个中介对象来封装一系统对象交互。中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 ①中介者模式主要用来将同事类之间网状结构变为星状结构,使同事类之间的关系变的清晰一些。 ②所有对象只 阅读全文
posted @ 2016-06-26 23:02 浅墨浓香 阅读(1140) 评论(0) 推荐(0) 编辑
摘要:
1. 单一继承 (1)实验代码 #include <iostream> #include <string> using namespace std; void visitVtbl(int **vtbl) { cout << vtbl << endl; cout << "\t[-1]: " << (l 阅读全文
posted @ 2016-06-24 23:08 浅墨浓香 阅读(342) 评论(1) 推荐(0) 编辑