定义
桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。
类图
角色
- Abstraction:抽象类,保存一个对实现化对象(Implementor)的引用
- RefinedAbstraction:扩充抽象类,改变和修正父类对抽象化的定义
- Implementor:角色给出实现化角色的接口,但不给出具体的实现
- ConcreteImplementor:具体实现类
优缺点
优点
- 抽象和实现分离,扩展性高。
- 桥接模式有时类似于多继承方案,但是多继承方案违背了类的单一职责原则(即一个类只有一个变化的原因),复用性比较差,而且多继承结构中类的个数非常庞大,
桥接模式是比多继承方案更好的解决方法。
缺点
- 增加系统的理解与设计难度