一、结构型模式
序号 | 结构型模式 | 代号 | 区别 |
---|---|---|---|
1 | 适配器模式 | 充电转换头 | 使得原本不 |
2 | 代理模式 | 中介 | 对真实对象进行 |
3 | 装饰模式 | 装修 | 重点在于功能的 |
4 | 外观模式(门面模式) | 前台 | “代理”了内部的 |
5 | 桥接模式 | 桥梁 | 将 |
6 | 享元模式 | 池子 | 对客户端来说就是有如此多的对象, 只不过内存中却仅有 |
7 | 组合模式 | 组织结构 | 用于描述“ |
二、图示分析
适配器.png
装饰与代理模式.png
其他模式.png
三、对比分析
1、适配器模式与代理模式的区别
结构型模式 | 代号 | 区别 |
---|---|---|
适配器模式 | 充电转换头 | 代理者与被代理者他们拥有 |
代理模式 | 中介 | 目标对象和被适配者在接口上 |
2、代理模式与装饰器模式的区别
结构型模式 | 代号 | 区别 | 相同点 |
---|---|---|---|
代理模式 | 中介 | 重点在于增加对真实对象的控制,隐藏真实对象,代理关系在 |
拥有 |
装饰器模式 | 装修 | 在于功能的动态增加,所以对象一般作为参数进行传递,在 |
拥有 |
3、适配器与外观模式的区别
结构型模式 | 代号 | 区别 | 相同点 |
---|---|---|---|
适配器模式 | 转换头 | 适配器模式是为了能够一起工作,他们原本是并不兼容的 | |
外观模式 | 前台 | 外观模式是为了能够更好地更简单的工作,他们原本是可以一起工作的 |
4、适配器与桥接模式的区别
结构型模式 | 代号 | 区别 |
---|---|---|
适配器模式 | 转换头 | 适配器模式是为了能够一起工作,他们原本是并不兼容的,他们本身不同,我用“纽带” Adapter将他们连接起来 |
桥接模式 | 桥梁 | 将原本或许紧密结合在一起的抽象与实现,进行分离 |
5、装饰模式与桥接模式的区别
结构型模式 | 代号 | 区别 | 相同点 |
---|---|---|---|
装饰模式 | 装修 | 关注于功能的动态扩展组合 | 都解决了类爆炸增长的问题,都避免了过多的没必要的子类 |
桥接模式 | 桥梁 | 关注于抽象与实现的分离,获得更多的灵活性 | 都解决了类爆炸增长的问题,都避免了过多的没必要的子类 |