摘要:
1、意图 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式(Decorator)相比生成子类更为灵活。 2、结构 3、参与者 Component:定义一个对象接口,可以给这些对象动态地添加职责。 ConcreteComponent:定义一个对象,可以给这个对象添加一些职责。 Decora 阅读全文
摘要:
1、意图 将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式(Composite)使得用户对单个对象和组合对象的使用具有一致性。 2、结构 3、参与者 Component: 为组合中的对象声明接口; 在适当的情况下,实现所有类共有接口的缺省行为; 声明一个接口用于访问和管理Componen 阅读全文
摘要:
1、意图 将抽象部分与它的实现部分分离,使它们都可以独立地变化。 2、结构 3、参与者 Abstraction:定义抽象类的接口,维护一个指向Implementor类型对象的指针; RefinedAbstraction:扩充由Abstraction定义的接口; Implementor:定义实现类的接 阅读全文
摘要:
1、意图 将一个类的接口转换成客户希望的另外一个接口。适配器(Adapter)模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 2、结构 类适配器使用多重继承对一个接口与另一个接口进行匹配 对象适配器依赖于对象组合 3、参与者 Target:定义Client使用的与特定领域相关的接口; 阅读全文
摘要:
1、意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 2、结构 3、参与者 Singleton:定义一个Instance操作,允许客户访问它的唯一实例。Instance是一个类操作(即C++中的一个静态成员函数)。负责创建它自己的唯一实例。 4、适用性 在下面的情况下可以使用Single 阅读全文