美文网首页
结构型设计模式.桥连模式

结构型设计模式.桥连模式

作者: 双鱼子曰1987 | 来源:发表于2017-10-26 19:58 被阅读0次

概念理解

  • 定义:将抽象部分 (抽象化) 与它的实现部分 (实现化) 分离开来(脱耦),使他们都可以独立变化。桥接模式将继承关系转化成关联关系,它降低了类与类之间的耦合度,减少了系统中类的数量,也减少了代码量。

  • 如何理解
    抽象化:将共同的性质抽取出去而形成类的过程。关注于共有属性的剥离。例如,Shape的绘制方法
    实现化:对抽象化事物的进一步具体化。关注于如何利用实现抽象类需要的功能,例如,绘制一个红色的圆、绿色的矩形、蓝色的三角形等。
    脱耦:将它们之间的强关联改换成弱关联,将两个角色之间的继承关系改为关联关系

    Bridge.png

抽象类:Shape
扩展的抽象类:Circle、Square、Rectangle
实现类的抽象类或者接口:Color
具体的实现类:Red、Green、Blue

应用和优缺点

  • 解决问题:
    实现系统可能有多个角度分类,每一种角度都可能变化,那么把这种多角度分类给分离出来让他们独立变化,减少他们之间耦合。解决用继承会造成类爆炸问题。

  • 实例:
    不同的车可以不同的道路下跑。
    经典图形和颜色问题,不同的图形可以绘制不同的颜色。
    电视机和遥控器

  • 使用场景
    1、如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的继承联系,通过桥接模式可以使它们在抽象层建立一个关联关系。
    2、对于那些不希望使用继承或因为多层次继承导致系统类的个数急剧增加的系统,桥接模式尤为适用。
    3、一个类存在两个独立变化的维度,且这两个维度都需要进行扩展。

  • 优点
    1、分离抽象接口及其实现部分。提高了比继承更好的解决方案。
    2、桥接模式提高了系统的可扩充性,在两个变化维度中任意扩展一个维度,都不需要修改原有系统。
    3、实现细节对客户透明,可以对用户隐藏实现细节。

  • 缺点
    1、桥接模式的引入会增加系统的理解与设计难度,由于聚合关联关系建立在抽象层,要求开发者针对抽象进行设计与编程。
    2、桥接模式要求正确识别出系统中两个独立变化的维度,因此其使用范围具有一定的局限性。

三思而后行

参考:
设计模式读书笔记-----桥接模式

相关文章

  • 【设计模式】结构型设计模式汇总

    结构型设计模式汇总 结构型设计模式名称 结构型设计模式主要包括 7 大类: 代理模式 桥接模式 装饰器模式 适配器...

  • 结构型设计模式.桥连模式

    概念理解 定义:将抽象部分 (抽象化) 与它的实现部分 (实现化) 分离开来(脱耦),使他们都可以独立变化。桥接模...

  • 09.桥接模式(结构型)

    桥接模式(结构型) 一、桥接模式概述 桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的...

  • JS设计模式-其他1-原型模式 & 桥接模式

    其他设计模式系列开始介绍前端不常用的设计模式有哪些设计模式? 创建性模式原型模式 结构型模式桥接模式 组合模式 ...

  • 桥接模式

    介绍 桥接模式(Bridge Pattern) 也称为桥梁模式,是结构型设计模式之一。桥接模式的作用就是连接 "两...

  • 设计模式-桥接模式

    桥接模式介绍 桥接模式(Bridge Pattern)也称为桥梁模式,是结构型设计模式之一。顾名思义其与现实中的桥...

  • Android设计模式——桥接模式(七大结构型)

    1.桥接模式介绍 桥接模式(Bridge Pattern)也称为桥梁模式,是七大结构型设计模式之一。 2....

  • 手撸golang 结构型设计模式 桥接模式

    手撸golang 结构型设计模式 桥接模式 缘起 最近复习设计模式拜读谭勇德的<<设计模式就该这样学>>本系列笔记...

  • Android 桥接模式

    Android 23种设计模式 一、前言 Android桥接(Bridge)模式,又被称为桥梁模式。结构型模式之一...

  • GOF设计模式笔记(一)

    GOF设计模式 创建型模式: 单例模式 工厂模式 抽象工厂模式 建造者模式 原型模式 结构型模式: 适配器模式 桥...

网友评论

      本文标题:结构型设计模式.桥连模式

      本文链接:https://www.haomeiwen.com/subject/grakpxtx.html