桥接模式(bridge pattern)

桥接模式(bridge pattern):属于对象的结构型模式。将抽象部分与它的实现部分分离,使它们都可以独立地变化。


桥接模式UML图

Java设计模式(十九):桥接模式

Java

由图可看出,系统包含了两个等级结构

  1. 由抽象化角色和被提炼的抽象化角色组成的抽象化等级结构

  2. 由实现化角色和两个具体的实现化角色组成的实现化等级结构


桥接模式涉及的角色

抽象化(Abstraction)角色:抽象化给出的定义,并保存一个对实现化对象的引用。被提炼的抽象化(RefineAbstraction)角色:扩展抽象化角色,改变和修正父类对抽象化的定义。实现化(Implementor)角色:这个角色给出实现化角色的接口,但不给出具体的实现。具体实现化(ConcreteImplementor)角色:这个角色给出实现化角色接口的具体实现。


示例代码

实现化抽象类 Implementor

Java设计模式(十九):桥接模式

Java

具体实现 A 类 ImplementorA

Java设计模式(十九):桥接模式

Java

具体实现 B 类 ImplementorB

Java设计模式(十九):桥接模式

Java

抽象化类 Abstraction

Java设计模式(十九):桥接模式

Java

被提炼的抽象化类 RefinedAbstraction

Java设计模式(十九):桥接模式

Java

客户端测试类 BridgePatternTest

Java设计模式(十九):桥接模式

Java


桥梁模式的优点

  • 将抽象部分与它的实现部分分离

桥梁模式分离了抽象部分和实现部分,即实现系统可能有多种角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让它们独立变化,减少它们之间的耦合。

  • 更好的扩展性

桥梁模式更好的利用了合成/聚合复用原则,使得抽象部分和实现部分可以分别独立地扩展,而不会相互影响,从而大大提高了系统的可扩展性。


Java学习资料获取(复制下段连接至浏览器即可)
data:text/html;charset=UTF-8;base64,5p625p6E5biI5a2m5Lmg6LWE5paZ5YWN6LS56aKG5Y+W6K+35Yqg5omj5omj5Y+35pivMTAxODkyNTc4MA==

相关文章: