软设之桥接模式

桥接模式的意图是:将抽象部分与它的实现部分分离,使它们都可以独立变化。

比如说汽车是一个抽象的概念,但汽车有不同品牌和型号,这些汽车有不同的驱动方式,比如烧油或者电动。假如用传统的方式,每增加一个品牌或者型号,就得改大量代码。采用桥接模式,可以将汽车品牌和型号分离。先定义一个汽车类,类中包含指向驱动的接口。驱动方式创建一个汽油类和电动类。这样每当创建一个新的信号,只需要指定品牌型号的子类,并连接驱动方式的类。

Abstraction:抽象类定义抽象类的接口。维护一个Implementor的对象

RefinedAbstraction:扩充的抽象类,扩充由Abstraction定义的接口

Implementor:实现类接口,定义实现类的接口,这个接口不一定要与Abstraction的接口完全一致,事实上这两个接口可以完全不同,一般的讲Implementor接口仅仅给出基本操作,而Abstraction接口则会给出很多复杂的操作

Concrelmplementor:具体实现类,实现Implementor定义的接口并且具体实现它。

相关推荐
wdfk_prog5 分钟前
[Linux]学习笔记系列 -- [drivers][dma]dmapool
linux·笔记·学习
玄〤32 分钟前
Java 大数据量输入输出优化方案详解:从 Scanner 到手写快读(含漫画解析)
java·开发语言·笔记·算法
2501_936960362 小时前
1.树莓派零基础教学
笔记
呱呱巨基2 小时前
c语言 文件操作
c语言·开发语言·c++·笔记·学习
YigAin3 小时前
Unity23种设计模式之 命令模式
设计模式·命令模式
twj_one4 小时前
java中23种设计模式
java·开发语言·设计模式
hnult4 小时前
全功能学练考证在线考试平台,赋能技能认证
大数据·人工智能·笔记·课程设计
香芋Yu4 小时前
【深度学习教程——01_深度基石(Foundation)】05_数据太多怎么吃?Mini-batch训练的设计模式
深度学习·设计模式·batch
yangzheui4 小时前
【VUE2转VUE3学习笔记】-Day1:模板语法
vue.js·笔记·学习
Hammer_Hans5 小时前
DFT笔记27
笔记