网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

设计模式结构性:桥接模式

时间:2023-06-08 10:49

人气:

作者:admin

标签: 设计模式  桥接    结构性 

导读:桥接模式不是将两个不相干的类链接,而是将一个需要多维度变化的类拆分成抽象部分和实现部分,并且在抽象层对两者做组合关联,是用组合的方式来解决继承的问题。...

桥接模式不是将两个不相干的类链接,而是将一个需要多维度变化的类拆分成抽象部分和实现部分,并且在抽象层对两者做组合关联,是用组合的方式来解决继承的问题。

举个例子,如果一个类在两个维度分别有m和n种变化,采用继承的方式就需要扩展出m*n个子类,且一个维度每增加一种变化就多出另一个维度变化总数的子类;如果将两个维度拆分再组合,加起来也只有m+n个子类,且每个维度独立扩展,一个维度增加一种变化只需要增加1个子类

将俩个维度分离,使他们可以独立变化。又称为柄体(Handle and Body)模式或者接口(interface)模式。

结构图

图片

角色与理解

  • 桥接模式包含如下角色:
  • Abstraction (抽象类):用于定义抽象类的接口,一般为抽象类而不是接口,其中维持一个Implementor的引用
  • RefinedAbstraction (扩充抽象类):继承或者实现抽象类,通常情况下为具体类而不是抽象类,实现抽象类中定义的抽象业务方法,在具体业务方法中可以调用Implementor中定义的业务方法
  • Implementor (实现类接口):定义实现类的接口,一般而言,Implementor接口仅提供基本操作,并交由子类去实现
  • ConcreteImplementor (具体实现类):实现Implementor中定义的基本操作方法
  • 抽象类持有实现类接口的对象,调用实现类接口中定义的方法
  • 本质上是两个独立变化的维度,一个抽象层引用另一个抽象层的东西,以实现通过实现类进行业务方法的调用

核心代码

  • 抽象类

图片

  • 实现接口

图片

  • 客户端

图片

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信