桥接模式(bridge pattern)
桥接模式(bridge pattern):属于对象的结构型模式。将抽象部分与它的实现部分分离,使它们都可以独立地变化。
桥接模式UML图
Java
由图可看出,系统包含了两个等级结构
-
由抽象化角色和被提炼的抽象化角色组成的抽象化等级结构
-
由实现化角色和两个具体的实现化角色组成的实现化等级结构
桥接模式涉及的角色
抽象化(Abstraction)角色:抽象化给出的定义,并保存一个对实现化对象的引用。被提炼的抽象化(RefineAbstraction)角色:扩展抽象化角色,改变和修正父类对抽象化的定义。实现化(Implementor)角色:这个角色给出实现化角色的接口,但不给出具体的实现。具体实现化(ConcreteImplementor)角色:这个角色给出实现化角色接口的具体实现。
示例代码
实现化抽象类 Implementor
Java
具体实现 A 类 ImplementorA
Java
具体实现 B 类 ImplementorB
Java
抽象化类 Abstraction
Java
被提炼的抽象化类 RefinedAbstraction
Java
客户端测试类 BridgePatternTest
Java
桥梁模式的优点
-
将抽象部分与它的实现部分分离
桥梁模式分离了抽象部分和实现部分,即实现系统可能有多种角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让它们独立变化,减少它们之间的耦合。
-
更好的扩展性
桥梁模式更好的利用了合成/聚合复用原则,使得抽象部分和实现部分可以分别独立地扩展,而不会相互影响,从而大大提高了系统的可扩展性。
Java学习资料获取(复制下段连接至浏览器即可)
data:text/html;charset=UTF-8;base64,5p625p6E5biI5a2m5Lmg6LWE5paZ5YWN6LS56aKG5Y+W6K+35Yqg5omj5omj5Y+35pivMTAxODkyNTc4MA==