一、概述 我们往往总是希望用一致的方式访问不同类型的对象,不论这个对象是同一类系中类型A的对象,还是类型B的对象,OO的多态性为我们提供了这种支持。 Composite模式将这种观点更进一步,当一个复
一、概述 Command(命令)模式可用于将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,即允许用户指定对何种对象执行何种操作;或者,对请求排队或记录请求日志,以及支持可撤消的操作。
一、概述 继承是对类进行扩展,以提供更多特性的一种基本方法,但是有时候,简单的继承可能不能满足我们的需求。如我们的系统需要提供多种类型的产品: 类型A、类型B、... 同时,这些产品需要支持多种特性:
一、概述 Bridge(桥接)模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。 二、结构 Bridge模式的结构如下: 图1:Bridge模式类图示意 由于Bridge实现抽象-实现的特
一、概述 Adapter(适配器)模式又称Wrapper模式,主要用于将一个类的接口转换成客户希望的另外一个接口,解决两个已有接口之间不匹配的问题。Adapter模式使得原本由于接口不兼容而不能一起工
一、概述 Builder(生成器)模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 跟Factory Pattern一样,Builder Pattern的目的也在于构建对
一、概述 Observer(观察者)模式又被称作发布-订阅(Publish-Subscribe)模式,用于定义对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动
一、概述 Memento(备忘录)模式在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 二、结构 Memento模式的类图结构如下
一、概述 Mediator(中介者)模式的名称已经基本能够反映该模式的意图:用一个中介对象来封装一系列的对象之间的交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间
一、概述 Iterator(迭代器)模式又称Cursor(游标)模式,用于提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。或者这样说可能更容易理解:Iterator模式是运