设计模式学习小结(12) 桥接模式

设计模式学习总结(12) 桥接模式

本系列主要记录设计模式的意图是什么,它要解决一个什么问题,什么时候可以使用它;它是如何解决的,掌握它的结构图,记住它的关键代码;能够想到至少两个它的应用实例,一个生活中的,一个软件中的;这个模式的优缺点是什么,其有哪些使用场景,在使用时要注意什么。

 

尊重作者,转载请注明晔阳的Bloghttp://blog.csdn.net/hacke2

 

12.桥接模式


意图:将抽象部分与实现部分分离,使它们都可以独立的变化.
主要解决:在有多种可能会变化的情况下,用继承会造成类爆炸问题,
扩展起来不灵活
什么时候使用:实现系统可能有多个角度分类,每一种角度都可能变化
如何解决 :那么把这种多角度分类给分离出来让他们独立变化,减少
他们之间耦合
结构图

设计模式学习小结(12)  桥接模式

关键代码:抽象类依赖实现类
应用实例:1、猪八戒从天蓬元帅转世投胎到猪,转世投胎的机制将尘
世划分为两个等级,即:灵魂和肉体,前者相当于抽象化,后者相当于实现化。生灵通过功能的委派,调用肉体对象的功能,使得生灵可以动态的选择 2、墙上的开关,自己可以看到的开关是抽象的,里面具体怎么实现我们不管
优点:1、抽象和实现的分离. 2、优秀的扩展能力 3、实现细节对客户
透明
缺点:1、桥接模式的引入会增加系统的理解与设计难度,由于聚合关
联关系建立在抽象层,要求开发者针对抽象进行设计与编程.
使用场景:1、如果一个系统需要在构件的抽象化角色和具体化角色之
间增加更多的灵活性,避免在两个层次之间建立静态的继承联系,通过桥接模式可以使它们在抽象层建立一个关联关系. 2、对于那些不希望使用继承或因为多层次继承导致系统类的个数急剧增加的系统,桥接模式尤为适用. 3、一个类存在两个独立变化的维度,且这两个维度都需要进行扩展.
注意事项:对于两个独立变化的维度,使用桥接模式再适合不过了.