桥梁模式
桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者独立的变化”。
抽象化
其实就是根据事物的特征或者行为共性抽取出抽象类或者接口的过程。
实现化
抽象化给出的具体实现,就是实现化。其实也就是根据事物特征或者行为的差异性 给出不同的具体实现。即抽象类的实现或者
接口的实现类。
脱耦
所谓耦合,就是两个实体的行为的某种强关联。而将它们的强关联去掉,就是耦合的脱耦。
脱耦是指将抽象化和实例化之间的耦合解脱开,或者是将它们之间的强关联改成弱关联。
在java语言中,继承关系是强关联,而聚合关系是弱关联。
借鉴了一张图,阐述了桥梁模式的示意性系统的结构图:
本文以Computor与Browser来举例(不一定恰当):
Computor与Browser之间通过聚合关系来一起工作,具体实现行为都依赖子类。
桥梁模式使得抽象部分和实现部分可以分别独立地扩展,而不会相互影响,从而大大提高了系统的可扩展性。
桥梁模式在Java应用中的一个非常典型的例子就是JDBC驱动器。