无废话C#设计模式之七:Adapter
2009-04-02 08:21:21 来源:WEB开发网核心提示: 何时采用l 从代码角度来说, 如果需要调用的类所遵循的接口并不符合系统的要求或者说并不是客户所期望的,无废话C#设计模式之七:Adapter(3),那么可以考虑使用适配器,l 从应用角度来说,后者是在设计时就会运用的,注意事项l 在对两个无关类进行适配的时候考虑一下适配的代价, 如果因为产
何时采用
l 从代码角度来说, 如果需要调用的类所遵循的接口并不符合系统的要求或者说并不是客户所期望的,那么可以考虑使用适配器。
l 从应用角度来说, 如果因为产品迁移、合作模块的变动,导致双方一致的接口产生了不一致,或者是希望在两个关联不大的类型之间建立一种关系的情况下可以考虑适配器模式。
实现要点
l 适配器模式是否能成功运用的关键在于代码本身是否是基于接口编程的,如果不是的话,那么适配器无能为力。
l 适配器模式的实现很简单,基本的思想就是适配器一定是遵循目标接口的。
l 适配器模式的变化比较多,可以通过继承和组合方式进行适配,适配器可以是一组适配器产品,适配器也可以是抽象类型。
l 适配器模式和Facade的区别是,前者是遵循接口的,后者可以是不遵循接口的,比较灵活。
l 适配器模式和Proxy的区别是,前者是为对象提供不同的接口,或者为对象提供相同接口,并且前者有一点后补的味道,后者是在设计时就会运用的。
注意事项
l 在对两个无关类进行适配的时候考虑一下适配的代价,一个非常庞大的适配器可能会对系统性能有影响。
系列文章:
无废话C#设计模式之一:开篇
无废话C#设计模式之二:Singleton
无废话C#设计模式之三:Abstract Factory
更多精彩
赞助商链接