桥接模式的结构

桥接模式的结构

Content #

桥接模式类似于多重继承方案,但是多重继承方案往往违背了类的单一职责原则,其复用性比较差,桥接模式是比多重继承方案更好的解决方法。

  • Abstraction 定义抽象类的接口;维护一个指向 Implementor 类型对象的指针。
  • RefinedAbstraction 扩充由 Abstraction 定义的接口。
  • Implementor 定义实现类的接口,该接口不一定要与 Abstraction 的接口完全一致;事实上这两个接口可以完全不同。一般来说,Implementor 接口仅提供基本操作,而 Abstraction 则定义了基于这些基本操作的较高层次的操作。
  • ConcreteImplementor 实现 Implementor 接口并定义它的具体实现。

图中与 Bridge 模式中的“Abstraction”角色相对应的类是 Shape,与“Implementor”角色相对应的类是 Drawing。

From #