设计模式-桥梁模式-Bridge

源码地址: https://github.com/mumushuiding/golang-design-pattern/tree/master/02_Bridge

?桥梁模式-Bridge

?桥梁模式的目的就是要实现 抽象定义 和它的 实现 部分可以互不 依赖,单独开发

✂️抽象定义和实现的部分相互 分隔,各自只在自己的类的层次结构中.

⚡️类图

抽象定义和它的实现之间的 关系 称作 ?桥梁,它在二者之间建立连接

 

?参与者

  • ? Client (客户).
  • ? AbstractDef (抽象定义). 类 AbstractDef 定义了客户可以使用的 ?接口,含有指向由自己规定的接口的IImplementer的引用.
  • SpecAbstractDef (细分的抽象定义).这个类是AbstractDef的派生类,可以扩展基类的接口.
  • ? IImplementer (实施者).接口 IImplementer 定义了需要实现的接口.必须满足类AbstractDef中方法的需要.
  • ⭐️ ConcreteImplementerA (具体实现A).接口IImplementer中定义的每一种情况都要被实现,这个任务由ConcreteImplementerA完成.

?评价

?优点

  • ?抽象定义(AbstractDef) 和具体实现 (ConcreteImplementerA)通过抽象定义规定的接口 (IImplementer)连接,使抽象定义可以 不依赖 于具体实现 (依赖倒置)
  • ➕ 新的抽象定义和新的实现可以简单的 加入 系统中.
  • ?具体实现对于客户是 隐藏的,具体实现可以在运行时替换.

?缺点

  • ?桥梁模式有的类参与转化,不利于结构的 清晰.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值