首页 > 其他分享 >桥接模式(Bridge)

桥接模式(Bridge)

时间:2022-11-25 11:57:11浏览次数:37  
标签:Bridge 需要 桥接 接口 新建 模式 产品类别 实现

一个类中有两个可以扩展的组件,需要扩展的时候会很麻烦,通过桥接接口,把其中一个组件独立出去。

应用场景:

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

单一职责原则( Single responsibility principle ):一个类应该只有一个发生变化的原因。


 

例子

多层继承结构:电脑为父类接口;台式机,笔记本,平板电脑为接口的实现类;具体商品为电脑类型的子类。

类图:

当需要添加新的品牌时,例如HUAWEI ,我需要新建三个实现类,分别实现不同的接口,才能完成新增。

当需要添加新的产品类别时,例如智能手表,那我需要新建一个智能手表接口,再新建三个实现类,才能完成新增。

 


 

解决方案:

新建一个 桥接接口 Brand,实现  品牌  与  产品类别  两个属性各自独立。

 

当需要添加新的品牌时,例如HUAWEI ,我只需要新建一个实现Brand接口的实现类即可。

需要添加新的产品类别时,例如智能手表,我只需要在Computer2下新建一个子类即可。

 

标签:Bridge,需要,桥接,接口,新建,模式,产品类别,实现
From: https://www.cnblogs.com/lurenjia-bky/p/16923682.html

相关文章

  • docker-compose之redis cluster模式
    一、docker容器化的rediscluster最难搞的就是网络问题,这边记录一下集群搭建过程。二、dockerfileFROMredis:5.0.14MAINTAINERxbdRUNln-sf/usr/share/zo......
  • 【Linux】linux | CentOS7 | 命令行模式 | 图形化界面模式
    1、图形化界面->命令行1)键盘按键Ctrl+Alt+F32、命令行->图形化界面1)键入命令init5......
  • 聊一聊装饰者模式
    是你,还是你,一切都有你!——装饰者模式一、概述装饰者模式(DecoratorPattern)允许向一个现有的对象扩展新的功能,同时不改变其结构。主要解决直接继承下因功能的不断横向......
  • 代理模式(Proxy)
    代理模式指的是:为某个对象提供一个代理对象,并且由代理对象控制对原对象的访问。 使用场景:1、安全代理:屏蔽对真实角色的直接访问。2、远程代理:通过代理类处理远程方法......
  • 桥接模式javac++
    [实验任务一]:两个维度的桥接模式用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。     packagetest9;publicclassBusi......
  • 组合模式java+c++
    [实验任务一]:组合模式用透明组合模式实现教材中的“文件夹浏览”这个例子。    packagetest10;publicabstractclassAbstractFile{publicabstrac......
  • 装饰模式java+c++
    [实验任务一]:手机功能的升级用装饰模式模拟手机功能的升级过程:简单的手机(SimplePhone)在接收来电时,会发出声音提醒主人;而JarPhone除了声音还能振动;更高级的手机(ComplexP......
  • 适配器模式c++
    [实验任务一]:双向适配器实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。  #include<iostream>usingnamespacestd;classCat{public:virtualvoid......
  • Java 设计模式:工厂模式
    目录工厂模式(FactoryPattern)实现简单工厂模式示例工厂方法模式示例抽象工厂模式示例参考工厂模式(FactoryPattern)所属:创建型模式,适用时机:我们明确地计划不同条件下创建......
  • 注解与代理模式
    注解与代理模式相关介绍Annotation就是嵌入在代码中的标记,补充代码功能,可以修饰包,类,方法,变量实际开发中,基于注解可以替换配置文件框架=注解+反射+设计模式的集合......