桥接模式

桥接模式定义:

将抽象部分与其实现实部分分离,使他们都可以独立地变化,它是一种对象结构型模式,又成柄体模式

桥接模式结构图


image.png

桥接模式主要优缺点:

优点:
1.分离抽象接口及其实现部分。桥接模式使用“对象间的关联关系”解耦了抽象和实现之间的固定绑定关系,是的抽象和实现可以沿着各自的维度来变化同一个继承层次结构中。而是“子类化”他们,使它们各自都具有自己的子类,以便任意组合子类,从而获得多维度组合对象。
2.在很多情况下,桥接模式可以取代多层集成方案,多层继承方案违背单一职责原则,复用性较差且类的个数非常多,桥接模式是比多层次更好的解决放啊,他极大的减少了子类的个数。
3.桥接模式提高系统的可扩展性,在两个变化唯独中任意扩展一个维度,都不需要修改原有系统,符合开闭原则。
缺点:
1.桥接模式的使用会增加系统的理解和设计难度,由于关联关系建立的抽象层,要求开发者一开始就针对抽象层进行设计与编程。
2.桥接模式要求正确是识别出系统中两个独立的变化的维度,因此其使用范围具有一定的局限性,如何正确是呗两个独立的维度也需要一定的经验积累。

桥接模式使用场景

1.如果一个系统在抽象类和具体类之间增加更多灵活性,避免在两个层次之间建立静态继承关系,通过桥接模式可以使他们在抽象层建立一个关联关系。
2.抽象部分和实现部分可以继承的方式独立扩展二互不影响,在程序运行时可以动态的将一个抽象类子类对象和一个实现类子类的对象进行组合,即系统需要对抽象类的角色和实现类角色进行动态耦合。
3.一个类存在两个或者多个独立变化的维度,且这两个或者多个维度都需要独立进行扩展。
4.对于那些不希望使用继承或因为多层继承导致系统类的个数急剧增加的系统,桥接模式尤为适合。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在正式介绍桥接模式之前,我先跟大家谈谈两种常见文具的区别,它们是毛笔和蜡笔。假如我们需要大中小3种型号的画笔,能够...
    justCode_阅读 1,795评论 0 7
  • 目录 本文的结构如下: 引言 什么是桥接模式 模式的结构 典型代码 代码示例 优点和缺点 适用环境 模式应用 一、...
    w1992wishes阅读 1,780评论 0 6
  • 1 场景问题# 1.1 发送提示消息## 考虑这样一个实际的业务功能:发送提示消息。基本上所有带业务流程处理的系统...
    七寸知架构阅读 5,088评论 5 63
  • 本文参考:http://www.oschina.net/question/1436074_140456 http:...
    端木轩阅读 3,618评论 0 5
  • 第一次听到星巴克可能是在某本书里面,第一次看到星巴克已经是大学的时候了。第一次喝星巴克?不记得了。但对星巴克的第一...
    GlacierKwan阅读 502评论 0 0