feat : Bridge pay
This commit is contained in:
36
document/bridge.md
Normal file
36
document/bridge.md
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
|
||||
### 桥接模式 (Bridge Pattern) 详解
|
||||
|
||||
> 桥接模式是一种结构型设计模式,它通过将抽象部分与实现部分分离,使它们可以独立变化而不互相影响。这种模式使用组合关系代替继承关系,从而降低了抽象和实现之间的耦合度。
|
||||
|
||||
#### 核心概念
|
||||
用组合代替继承,将多维度的变化拆分为多个正交的维度,每个维度独立变化。
|
||||
|
||||
#### 结构
|
||||
- 抽象部分(Abstraction): 定义高层的抽象接口/包含一个对实现部分的引用
|
||||
- 精确抽象(Refined Abstraction): 扩展抽象部分的变体
|
||||
- 实现接口(Implementor): 定义实现类的接口
|
||||
- 具体实现(Concrete Implementor): 实现Implementor接口的具体类
|
||||
|
||||
#### 优缺点
|
||||
|
||||
##### 优点
|
||||
- 分离抽象和实现:可以独立扩展两者
|
||||
- 提高可扩展性:可以独立添加新的抽象或实现
|
||||
- 避免继承爆炸:通过组合代替多层继承
|
||||
- 符合开闭原则:新增维度不影响现有代码
|
||||
|
||||
##### 缺点
|
||||
- 增加系统复杂度:需要正确识别抽象和实现两个维度
|
||||
- 对高内聚类不适用:如果抽象和实现本身高度耦合,强行分离反而不好
|
||||
|
||||
#### 桥接模式 vs 其他模式
|
||||
|
||||
| 模式 | 区别 |
|
||||
|--------|-----------------------|
|
||||
| 适配器模式 | 适配器是事后补救,桥接是事先设计 |
|
||||
| 抽象工厂模式 | 抽象工厂关注产品族,桥接关注分离抽象与实现 |
|
||||
| 策略模式 | 策略模式改变行为,桥接模式分离抽象与实现 |
|
||||
|
||||
桥接模式通过这种分离设计,让系统获得更好的扩展性和维护性,是多维度变化场景下的优秀解决方案。
|
||||
Reference in New Issue
Block a user