适配器模式

来源:互联网 发布:淘宝上的1号胶囊是什么 编辑:程序博客网 时间:2024/06/08 04:50

适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。

适配器模式可以让两个没有任何关系的类在一起运行,只要适配器这个角色能够搞定他们就成。
增加了类的透明性。我们访问的是目标角色,但是实现却在源角色里。
提高了类的复用度。源角色在原有系统中还是可以正常使用的。
灵活性非常好。不想要适配器时,删掉这个适配器就好了,其他代码不用改。

Adapter 模式的优点
在不修改原来类的基础上,将原来类进行扩展后使用在新的目标系统上。
更好的复用性
系统需要使用现有的类,而此类的接口不符合系统的需要,那么通过适配器模式就可以让这些功能得到更好的复用;
更好的扩展性
在实现适配器功能的时候,可以调用自己开发的功能,从而自然地扩展系统的功能。
总结一下就是对扩展开放和对修改关闭的开闭原则吧。
Adapter 模式的缺点
  如果在一个系统中过多的使用适配器模式,会让系统非常零乱,不易整体把握。例如,明明看到调用的是 A 接口,其实内部被适配成 B 类的实现,这样就增加了维护性,过多的使用就显得很没有必要了,不如直接对系统进行重构。