代理模式VS外观模式VS适配器模式
这三个模式的相同之处是,它们都作用于用户与真实被使用的类或系统之间,作一个中间层,起到了让用户间接地调用真实的类的作用。
简单扣扣字眼
装饰器模式:能动态的新增或组合对象的行为。 代理模式:为其他对象提供一种代理以控制对这个对象的访问. 适配器模式:是对其他对象接口的一种转换行为,将原接口转换为目标接口,达到适配的效果。外观模式:外观对象提供对子系统各元件功能的简化为共同层次的调用接口,它主要起到"简化作用"。
装饰模式是“新增行为”,代理模式是“控制访问行为”,适配器模式是"转换行为",外观模式是一种"简化行为"。
代理模式 1 代理模式中的原类和代理类继承同一父类;2 原类对象与代理类对象接口相同,功能一致;3 起到了隐藏原类的作用。
适配器模式 1 只有适配器继承目标接口;2 讲原有类接口转换为目标代码需求的接口。
外观模式
是多个类的集成、统一适配。
装饰者模式
以对 客户端透明(客户端需要指明装饰的是哪个类)的方式 扩展对象的功能,是继承关系的一个替代方案;