软设之桥接模式

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

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

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

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

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

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

相关推荐
不会代码的小猴5 小时前
标准模板库(STL)
开发语言·c++·笔记·算法
爱莉希雅&&&5 小时前
K8s NFS+StorageClass+PV/PVC+Deployment 实战笔记
笔记·容器·kubernetes
影寂ldy6 小时前
SQL 索引(Index)完整笔记
数据库·笔记·sql
GlueNa2SiO36 小时前
06-Docker存储与数据持久化
笔记·学习·docker
剧中有戏7 小时前
抽象工厂模式从入门到精通:一个多云存储案例的完整剖析(修订版)
设计模式
上下求索,莫负韶华8 小时前
切面学习笔记
笔记·python·学习
测试运维日常笔记8 小时前
Unix/Linux 系统软件包管理笔记
linux·笔记·unix
上下求索,莫负韶华9 小时前
笔记-数据库事务和java事务和切面
java·数据库·笔记
sakiko_9 小时前
Swift学习笔记39-实战注意事项
前端·笔记·学习·swift
神明不懂浪漫9 小时前
【第五章】队列
开发语言·数据结构·经验分享·笔记·算法