6.适配器(变压器)模式:
把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原本不匹配而无法一起工作的两个类能够一起工作。
适配类可以根据参数返还一个合适的实例给客户端。
将已有的接口转换为系统希望的接口形式
7.桥梁模式:
将抽象化与实现化脱耦,使得二者可以独立的变化,
也就是说将他们之间的强关联变成弱关联,
也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以独立的变化。
8.合成模式:
合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。
合成模式就是一个处理对象的树结构的模式。
合成模式把部分与整体的关系用树结构表示出来。
合成模式使得客户端把一个个单独的成分对象和由他们复合而成的合成对象同等看待。
9.装饰模式:
装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案,提供比继承更多的灵活性。
主要的目的是在无法生成子类的情况下给一个对象动态地增加新的职责
10.门面模式(外观模式):
外部与一个子系统的通信必须通过一个统一的门面对象进行。
门面模式提供一个高层次的接口,使得子系统更易于使用。
每一个子系统只有一个门面类,而且此门面类只有一个实例,也就是说它是一个单例模式。
但整个系统可以有多个门面类。
外观模式适用情况如下:
1)为复杂的子系统提供一个简单的接口;
2)客户程序与抽象类的实现部分之间存在着很大的依赖性;
3)构建一个层次结构的子系统时,适用外观模式定义子系统中每层的入口点。
11.享元模式:
以共享的方式高效的支持大量的细粒度对象。
享元模式能做到共享的关键是区分内蕴状态和外蕴状态。
内蕴状态存储在享元内部,不会随环境的改变而有所不同。
外蕴状态是随环境的改变而改变的。
外蕴状态和内蕴状态是相互独立的。
12、代理模式:
给某一个对象提供一个代理对象,并由代理对象控制对源对象的引用。
代理就是一个人或一个机构代表另一个人或者一个机构采取行动。
某些情况下,客户不想或者不能够直接引用一个对象,代理对象可以在客户和目标对象直接起到中介的作用。
客户端分辨不出代理主题对象与真实主题对象。
代理模式可以并不知道真正的被代理对象,而仅仅持有一个被代理对象的接口,这时候代理对象不能够创建被代理对象,被代理对象必须有系统的其他角色代为创建并传入。