桥接模式:将抽象部分与实现部分分离,使它们都可以独立的变化。
优点:
- 将抽象与实现解耦,可以独立拓展而不影响对方
- 处理多维度变化的场景,将各个维度设计成独立的继承结构。使各个维度可以独立的扩展在抽象层建立联系。
- 使用“对象间的组合关系”解耦了抽象和实现之间固有的绑定关系,使得抽象和实现可以沿着各自的维度来变化。
缺点:
- 增加了代码的复杂度
桥接模式vs装饰者模式:
- 均减少了子类的数目,避免了复杂的继承出现
- 装饰者的目的是添加新功能,桥接模式为了满足多维度的变化
举例:
http://www.cnblogs.com/meet/p/5116458.html(转)