桥梁模式的用意是:将抽象化和实现化惊醒脱耦,使得两者可以独立的变化。所谓脱耦就是将抽象化和实现化之间的耦合解脱开,也就是强关联变成若关联。
强关联就是在编译期就已经确立的,无法在运行时改变;弱关联就是可以动态的确定并且运行期可以改变的关联。继承是强关联,合成、聚合是弱关联。
类图:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZwpmLwEjM4kDM4UTO1gDM0ADMxgTMwIzLcZDM0EDMy8CXvZmbp9CXt92YuUGZvNWatFWbuU2Zh1Wavw1LcpDc0RHaiojIsJye.jpg)
示意性代码:
在网上看到一个例子解释这个的,我觉得蛮好的,mark一下:
《java与模式》里面,讲到的jdbc驱动器的例子。drivermanager根据url(定义响应的数据库的url)得到具体的实现。