桥接模式 Bridge
发布时间 2023-12-21 08:54:44作者: 梅丹隆
一、定义
- 将抽象部分与它的具体实现部分分离,使它们都可以独立地变化
- 通过组合的方式建立两个类之间联系,而不是继承
二、适用场景
- 抽象和具体实现之间需要更多灵活性
- 一个类存在两个(或多个)独立变化的维度,且这两个(或多个)维度都需要独立进行扩展
- 不希望使用继承,或因为多层继承导致系统类的个数激增
三、优缺点
1、优点
- 分离抽象部分及其具体实现部分
- 提高了系统的可扩展性
- 符合开闭原则 OpenClose
- 符合组合/聚合复用原则
2、缺点
- 增加系统的理解与设计难度
- 需要正确地识别出系统中两个独立变化的维度
四、代码实现
https://github.com/Meidanlong/all-in-one/tree/master/design/src/main/java/com/mdl/design/pattern/structural/bridge