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

1. 定义

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

2. 使用场景:

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

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

3. 优缺点

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

4. Android源码中的使用:

  1. CheckBox,Button,TextView,等View的绘制都是由与View相关的功能实现类DisplayList,HardwareLayer,Canvas负责
  2. Adapter和AdapterView(AbsListView的父类)
  3. Window和WindowManager

5. 实例演示

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

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

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

 

3. 创建咖啡的抽象类

 

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

 

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

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值