软设之桥接模式

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

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

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

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

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

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

相关推荐
老王熬夜敲代码3 小时前
C++继承回顾
c++·笔记
摇滚侠5 小时前
Spring Boot3零基础教程,整合 SSM,笔记52
java·spring boot·笔记
lbai71346 小时前
Perf-Ninja听课笔记 - 环境配置及Warmup
笔记·性能优化
递归不收敛6 小时前
四、高效注意力机制与模型架构
人工智能·笔记·自然语言处理·架构
陈苏同学7 小时前
笔记1.4:机器人学的语言——三维空间位姿描述 (旋转矩阵 - 齐次变换矩阵 - 欧拉角 - 四元数高效表示旋转)
笔记·线性代数·算法·机器人
岑梓铭7 小时前
考研408《计算机组成原理》复习笔记,第五章(5)——CPU的【指令流水线(含中断)】
笔记·考研·408·计算机组成原理·计组
递归不收敛7 小时前
多模态学习大纲笔记(未完成)
人工智能·笔记·学习·自然语言处理
摇滚侠9 小时前
Spring Boot3零基础教程,Profile 环境隔离用法,笔记55
java·spring boot·笔记
新子y9 小时前
【小白笔记】input() 和 print() 这两个函数
笔记·python
雾岛听蓝9 小时前
C语言:使用顺序表实现通讯录
c语言·数据结构·经验分享·笔记·visualstudio