《设计模式》笔记:代理模式vs适配器模式vs外观模式
2013-06-18 22:29
344 查看
一、定义
代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。
适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口,使得原本接口不兼容而不能一起工作的那些类可以一起工作。
外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
二、理解
代理模式和适配器模式应该说很相像,但是他们的区别也很明显,代理模式和被代理者的接口是同一个(所以代理者和被代理者要继承与同一个父类,这也是代理者模式在类结构上与适配器模式唯一的不同了),只是使用中客户访问不到被代理者,所以利用代理间接的访问,而适配器模式,是因为接口不同,为了让用户使用到统一的接口,把原先的对象通过适配器让用户统一的使用,大多数运用在代码维护的后期,或者借用第三方库的情况下,而外观模式,是大家经常无意中使用的,就是把错综复杂的子系统关系封装起来,然后提供一个简单的接口给客户使用,就类似于一个转接口,可以想象成一个漏斗,中间细的那一段,越细耦合度越低,外观模式就是为了降低耦合度。
代理模式,代理者保存一个被代理的一个对象;适配器模式,保存了一个被适配的对象;而外观模式,就保存了各个子系统对象,然后根据实际逻辑组合。
三、类图
代理模式
适配器模式
外观模式
代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。
适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口,使得原本接口不兼容而不能一起工作的那些类可以一起工作。
外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
二、理解
代理模式和适配器模式应该说很相像,但是他们的区别也很明显,代理模式和被代理者的接口是同一个(所以代理者和被代理者要继承与同一个父类,这也是代理者模式在类结构上与适配器模式唯一的不同了),只是使用中客户访问不到被代理者,所以利用代理间接的访问,而适配器模式,是因为接口不同,为了让用户使用到统一的接口,把原先的对象通过适配器让用户统一的使用,大多数运用在代码维护的后期,或者借用第三方库的情况下,而外观模式,是大家经常无意中使用的,就是把错综复杂的子系统关系封装起来,然后提供一个简单的接口给客户使用,就类似于一个转接口,可以想象成一个漏斗,中间细的那一段,越细耦合度越低,外观模式就是为了降低耦合度。
代理模式,代理者保存一个被代理的一个对象;适配器模式,保存了一个被适配的对象;而外观模式,就保存了各个子系统对象,然后根据实际逻辑组合。
三、类图
代理模式
适配器模式
外观模式
相关文章推荐
- 代理模式vs适配器模式vs外观模式
- 代理模式VS外观模式VS适配器模式
- 模式总结之结构型:代理模式 Vs 适配器模式 Vs 门面模式(外观模式)
- php 设计模式之 代理模式,适配器模式,外观模式
- 炒股票VS买基金之外观模式学习笔记[C++版]
- 代理模式、装饰模式、适配器模式、组合模式、桥梁模式、外观模式、享元模式【读书笔记】设计模式4章:结构型模式
- 辨析代理模式、外观模式、适配器模式三者区别
- 设计模式-包装模式(代理模式、适配器模式、外观模式)
- 设计模式学习笔记十四:适配器模式、桥接模式与外观模式
- 23种设计模式--结构型模式(适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式)
- 设计模式学习笔记十四:适配器模式、桥接模式与外观模式
- 设计模式(适配器模式,外观模式)
- HeadFirst 设计模式笔记(七)—— 适配器模式与外观模式
- 大话の适配器模式VS外观模式
- 设计模式笔记(六)--适配器模式、外观模式
- 【HeadFirst 设计模式学习笔记】7 适配器模式和外观模式
- HeadFirst 设计模式学习笔记6--适配器模式和外观模式
- 适配器模式、装饰模式、代理模式和外观模式
- 装饰器模式、代理模式、适配器模式和外观模式的联系与区别
- HeadFirst 设计模式学习笔记7--适配器模式和外观模式