1.装饰模式(Decorator)
①通过采用组合而非继承的方法,Decorator模式实现了在运行时动态扩展对象功能的能力,而且可以根据需要扩展多个功能。避免了使用继承带来的灵活性差和多子类衍生问题
②Decorator类在接口上表现为is-a Component的继承关系,即Decorator类继承了Component类所具有的接口。但在实现上又表示为has-a Component的组合关系,即Decorator类又使用另外一个Component类
2.桥模式(Bridge)
①Bridge模式使用“对象间的组合关系”解耦了抽象和实现之间固有的绑定关系,使得抽象和实现沿着各自的维度来变化。
②Bridge模式有时类似于多继承方案,但是多继承方案往往违背单一职责原则,复用性较差。Bridge模式是比多继承方案更好的解决办法。
③Bridge模式的应用一般在“两个非常强的变化维度”,有时一个类也有多于两个的变化维度,这使可以使用Bride的扩展模式。