设计模式之结构型模式(十二)

一、结构型模式

序号 结构型模式 代号 区别
1 适配器模式 充电转换头 使得原本不\color{red}{兼容},不能够一起工作的那些类能够一起工作
2 代理模式 中介 对真实对象进行\color{red}{隐藏},封装透明的对外界提供服务,控制外界对这个对象的访问
3 装饰模式 装修 重点在于功能的\color{red}{扩展},添加额外的职责
4 外观模式(门面模式) 前台 “代理”了内部的\color{red}{子系统}
5 桥接模式 桥梁 \color{red}{抽象}\color{red}{实现}进行分离
6 享元模式 池子 对客户端来说就是有如此多的对象, 只不过内存中却仅有\color{red}{少量的对象}
7 组合模式 组织结构 用于描述“\color{red}{整体-部分}”的概念

二、图示分析

适配器.png

装饰与代理模式.png

其他模式.png

三、对比分析

1、适配器模式与代理模式的区别

结构型模式 代号 区别
适配器模式 充电转换头 代理者与被代理者他们拥有\color{red}{相同的接口}
代理模式 中介 目标对象和被适配者在接口上\color{red}{没有必然联系}

2、代理模式与装饰器模式的区别

结构型模式 代号 区别 相同点
代理模式 中介 重点在于增加对真实对象的控制,隐藏真实对象,代理关系在\color{red}{编译时期}已经静态确定 拥有\color{red}{相同的接口}
装饰器模式 装修 在于功能的动态增加,所以对象一般作为参数进行传递,在\color{red}{运行期间}动态增加功能方式 拥有\color{red}{相同的接口}

3、适配器与外观模式的区别

结构型模式 代号 区别 相同点
适配器模式 转换头 适配器模式是为了能够一起工作,他们原本是并不兼容的 \color{red}{他们都变成了另外一种形式的接口}
外观模式 前台 外观模式是为了能够更好地更简单的工作,他们原本是可以一起工作的 \color{red}{他们都变成了另外一种形式的接口}

4、适配器与桥接模式的区别

结构型模式 代号 区别
适配器模式 转换头 适配器模式是为了能够一起工作,他们原本是并不兼容的,他们本身不同,我用“纽带” Adapter将他们连接起来
桥接模式 桥梁 将原本或许紧密结合在一起的抽象与实现,进行分离

5、装饰模式与桥接模式的区别

结构型模式 代号 区别 相同点
装饰模式 装修 关注于功能的动态扩展组合 都解决了类爆炸增长的问题,都避免了过多的没必要的子类
桥接模式 桥梁 关注于抽象与实现的分离,获得更多的灵活性 都解决了类爆炸增长的问题,都避免了过多的没必要的子类
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。