2.2 桥接模式

将抽象部分与它的实现部分解耦,使得两者都能够独立变化。

例子: 对于颜色和笔头粗细, 这是不可分割的两种特性, 属于设计不当. 但是毛笔可以将水彩色和笔头粗细两种正交特性分开, 是良好的设计.

角色:

  • 抽象类: 定义抽象接口, 抽象类中有一个实现类接口的指针
  • 实现类接口:抽象定义另外一个维度
  • 扩充抽象类: 定义抽象类实现的接口
  • 具体实现类: 实现了"实现类接口"定义的接口

用户在持有一个抽象类的指针, 使用的时候实例化成一个扩充抽象类, 同时又可以实例化不同的具体实现类, 保证了两个方向的正交性.


桥接模式和适配器模式有什么不同? 在设计的时候使用桥接模式, 但是如果已经有了两个功能完善的类, 那么使用适配器模式.

桥接模式防止 构建抽象层和实现层过度耦合

缺点: 需要在设计的时候考虑到, 于是两者的关系建立在抽象层, 很难让以后的人识别出来

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容