Files
Hui-s-notebook/203-Java/203.1-Java面试/205.19-网络&操作系统/桥梁模式.md
2023-09-10 10:50:53 +08:00

754 B

Decouple an abstraction from its implementation so that the two can vary independently.(将抽象和实现解耦,使得两者可以独立地变化。)

  • Abstraction 抽象化角色
  • Implementor 实现化角色
  • RefinedAbstraction 修正抽象化角色
  • ConcreteImplementor 具体实现化角色

优点

  • 抽象和实现分离
  • 优秀的扩充能力
  • 实现细节对客户透明

使用场景

  • 不希望或不适用使用继承的场景
  • 接口或抽象类不稳定的场景
  • 重用性要求比较高的场景

注意事项

主要考虑如何拆分抽象和实现,并不是一涉及继承就考虑该模式, 意图还是对变化的封装,把可能变化的因素封装到最细,最小的逻辑单元中,避免风险扩散