处理多维度变化
桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们可以独立变化。
如果某个类存在两个独立变化的维度,可以将这两个维度分离出来,使两者可以独立扩展,将两个独立变化的维度设计为两个独立的继承等级结构,并且在抽象层建立一个抽象关联,该关联关系类似连接的桥。
将两个独立的维度称为抽象部分和实现部分,每个维度都可以有其具体的实现类进行扩展,但是维度之间通过关联关系连接。
桥接模式是JVM和JDBC实现的核心模式之一。
- 优点
- 分离抽象接口及其实现部分。
- 桥接模式可以取代多层继承方案,多层继承方案违背了“单一原则”,复用性较差。
- 提供了系统的可扩展性,任意维度都可以扩展,符合“开闭原则”。
- 缺点
- 关联关系建立在抽象层,需要一开始针对抽象层进行设计。
- 需要正确识别系统中独立变化的维度。
- 适用场景
- 增加抽象化和具体化之间的灵活性。
- 抽象部分和实现部分可以以继承的方式独立扩展互不影响。
|
|
|
|
|
|
|
|
|
|
|
|