0%

设计模式笔记(九):结构型-桥接模式

##桥接模式(Bridge Pattern)
####意图
将抽象部分和实现部分分离,使他们可以独立变化
####主要解决
在多种可能变化的情况下,用继承会造成类爆炸的问题,不好扩展
####何时使用
实现系统可以有多个角度分类,每一个角度都可能变化
####如何解决
把这种多角度分类分离出来,让他们独立变化,减少之间的耦合
####关键代码
抽象类依赖实现类
####应用实例
1:猪八戒从天蓬元帅投胎到猪转世投胎机制将尘世划分为肉体和灵魂 ,前者相当于实现化,后者相当于抽象化,生灵通过功能委派,调用肉体对象,
2:开关
####优点
1:抽象和实现分离
2:优秀扩展能力
3:实现细节对客户透明
####缺点
桥接模式会增加系统理解和设计难度,由于聚合关联关系在抽象层,需要开发者对抽象进行设计和编程
####使用场景
1:如果一个系统需要在组件抽象化角色和具体化角色之间有更多的灵活性,避免在两个层次之间建立静态继承关系,通过桥接模式可以使他们在抽象层建立一个关联关系
2:对于不希望因为使用继承或者因为多层次继承导致类中个数急剧增加的系统
3:一个类存在两个独立变化的维度 ,并且两个维度都需要进行扩展
####注意
对于两个独立变化的维度 使用桥接模式最合适
####总结:利用一个中间接口来把多种不同状态的类进行分离
####代码地址:https://github.com/xuxianyu/myGitHub/tree/master/DisignPattern/src/main/java/com/xxx/structural/bridge