桥接模式(Bridge Pattern):
使用场合:
有多个维度的决定性因素。避免抽象部分和实现部分的永久绑定,例如实现部分必须在运行时被选择的时候。
意义:
用抽象关联取代了传统的多层继承,将类之间的静态继承转换成动态的对象组合。
举例:
自动茶水销售机,该机器销售的茶水在杯子的体积上分为“中杯”,“小杯”,“大杯”;在茶叶品种上分为“红茶”,“绿茶”,为此进行设计。
if语句用桥接模式替代
for循环用iterator替代
数组用Arraylist替代
是什么?
桥接模式中包括四种类型角色
- 抽象类Abstraction
- 扩充抽象类RefinedAbtraction
- 实现类接口Implementor
- 具体实现类ConcreteImplementor
抽象类Abstraction中定义一个Implementor的引用,并且在setImpl中可以将引用赋一个实例。
在抽象类的扩展抽象类中RefinedAbtraction(他不是抽象类)中,实现Abstraction的抽象方法。