结构型模式

1,适配器

2,桥接

3,组成

4,装饰

5,外观

6,享元

7,代理


1,适配器

目的是为了重用已有的类,让事先没有互相关系的类协同工作。
大致做法是通过让adapter继承target类,将来自client对target的请求转发给adaptee。
可能发生在重构,扩展等相对后期的阶段。
分为类适配器和对象适配器;类适配器多采用多重继承。


2,桥接

目的是分离接口和实现,以提供了一套稳定的接口,并且可以接口和实现独立变化。
结构和实现没有继承关系,接口类引用实现类的实例,并将其请求转发。
通常发生在设计阶段,比较明确的知道会有多种不同实现。



3,组成

将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。


4,装饰

动态地给一个对象添加一些额外的职责。
装饰类和被装饰类都有一个共同的接口,装饰类维持一个被装饰对象的引用(通常在构造函数传入),将客户的请求转发给被装饰对象,并在转发前后添加额外的职责。 装饰模式不改变接口。


5,外观

为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
引入的Facade对象,为子系统中较一般的设施提供了一个单一而简单的界面。
也就是提供一个简单易用的类。


6,享元

运用共享技术有效地支持大量细粒度的对象。
使用一个factory管理维护一个共享对象池。难点是对象的外部和内部状态的划分。


7,代理

为其他对象提供一种代理以控制对这个对象的访问。
代理和实体一般都会有相同的接口。
在实现上跟装饰模式比较相似。

你可能感兴趣的:(结构型模式)