设计模式:桥接模式(学习笔记)
桥接模式原理:
遥控器项目的设计
极简设计方案:
新需求:电视机厂家,遥控器新设计
思考问题:变化与不变
变化:1.遥控器新增功能时,遥控器实现方法变更;2.电视机厂家也需要变化,适配遥控器。
不变:遥控器接口不变,实现方法变化。
桥接模式:将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变
类图结构(左侧实现部分,右侧抽象部分)
抽象层与实现层独立变化,抽象层:不同的功能变化;实现层不同的“厂家";
桥接模式原理图:
桥接模式关键点:
1.(原理/意义)抽象与实现分离,抽象与实现可以独立变化。
2.(用处)系统有多维角度分类时,而每一种分类又有可能变化,考虑使用桥接模式。
桥接模式与策略模式的差异:
实际意义差别:
1.桥接的目的是让底层实现和上层接口可以分别演化,从而提高移植性。
2.策略的目的是将复杂的算法封装起来,从而便于替换不同的算法。
实现原理的区别:
3.桥接模式是往往是为了利用已有的方法或类。
4.策略模式是为了扩展和修改,并提供动态配置。
使用层次上的区别:
5.桥接模式强调接口对象仅提供基本操作。
6.策略模式强调接口对象提供的是一种算法。