Android设计模式-23-桥接模式

1. 定义

  • 将抽象部分与实现部分解耦,使他们都可以独立的进行变化
  • 又称桥梁模式,柄体模式

2. 使用场景:

任何多维度变化或者多个树状之间的耦合都可以使用桥接模式来实现解耦

  1. 需要在抽象化角色与具体化角色间增加更多灵活性桥接模式无法上网,避免建立静态的继承联系
  2. 不希望使用继承或由于多层次继承导致系统的个数急剧增加
  3. 一个类存在两个独立变化的维度,且这两个维度都需要进行扩展

3. 优缺点

  • 优点:
  1. 抽象和实现的分离
  2. 优秀的扩展能力
  3. 实现细节对客户透明
  • 缺点:桥接模式的引入会增加系统的理解与设计难度,由于聚合关联关系建立在抽象层,要求开发者针对抽象进行设计与编程

4. Android源码中的使用:

  1. CheckBox,Butt桥接模式是什么意思on,TextView,桥接模式与路由模式有什么不同等View的绘制都是由与View相关的功能实现类DisplayList,HardwareLayer设计模式及其应用场景,Canvas负责
  2. Adapter和AdapterView(AbsListView的父抽象类中可以有非抽象方法吗类)
  3. Window和WindowManager

5. 实例演示

以咖啡大小杯和口味为例,不管是Coffee变化(大小杯),还是风味变化(Cof设计模式的6大原则feeAdditives),其相对于对方而言都是独立的,两者唯一的联系就是Coffee中保持对coffeeAdditives的引用,为二者间的纽带,这就是桥接模式

1. 创建一个咖啡调味剂的抽象类

2. 调味剂的实现类,如原味,奶香,焦糖等


                                            Android设计模式-23-桥接模式

3. 创建咖啡的抽象类

4. 咖啡的实现类,大杯中杯小杯等


                                            Android设计模式-23-桥接模式

5. 创建不同风味,不同大小的咖啡

我是今阳,如果想要进阶和了解更多的干货,欢迎关注公众号”今阳说“接收我的最新文章