软设之桥接模式

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

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

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

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

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

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

相关推荐
喷火龙8号16 分钟前
JWT 认证方案深度对比:单 Token 扩展刷新 vs 双 Token 验证
后端·设计模式·架构
im_AMBER1 小时前
Leetcode 77 数组中的最大数对和 | 统计坏数对的数目
笔记·学习·算法·leetcode
代码游侠1 小时前
学习笔记——Linux 进程管理笔记
linux·运维·笔记·学习·算法
逐辰十七1 小时前
freertos学习笔记12--个人自用-第18章 资源管理(Resource Management)
笔记·学习
眠晚晚1 小时前
src挖洞笔记分享_上
服务器·网络·笔记
德彪稳坐倒骑驴1 小时前
SQL刷题笔记-我没做出来的题目
数据库·笔记·sql
lingggggaaaa1 小时前
CS配合CrossC2插件,实现MacOS/Linux上线
linux·运维·笔记·安全·macos
wheelmouse77881 小时前
Maven构建配置学习笔记
笔记·学习·maven
He BianGu2 小时前
【笔记】在WPF中如何使用ContentPresenter 与 Generic.xaml 设置数据默认 DataTemplate
windows·笔记·wpf
SatoshiGogo2 小时前
ML-4360 3D视觉 笔记
笔记