AdapterPattern- 适配器模式
适配器模式
适配器模式(Adapter Pattern):是指将一个类的接口转换成客户期望的另一个接口,使原本的接口不兼容的类可以一起工作,适配器模式属于结构型设计模式。
示例登录功能随处可在,现在随着时代的发展,登录方式也是五花八门,但很多网站登录后的逻辑又是一样的,为了遵循开闭原则,不直接改变原有的登录逻辑,我们就需要使用适配器模式了。今天我们就通过登录来举例说明。
原始的登录逻辑处理类
LoginService.java
支持手机登录的类
LoginByTelephone.java
,继承原始的登录类
支持微信登录的类
LoginByWechat.java
,继承原始的登录类
支持 QQ 登录的类
LoginByQQ.java
,继承原始的登录类
测试类
TestLoginAdapter.java
由以上例子可见,适配器模式的实现特别简单,就是通过简单的继承来实现的。下面放一个特别易懂的适配器例子
适配器模式适用场景
针对已经存在的类,它的方法和需求不匹配的情况可以通过适配器来进行转换兼容。
适配器模式不是软件设计阶段考虑的设计模式,是随着软件维护,产生了许多功能类似而接口不相同情况下的一种解决方案。
适配器模式优点
能提高类的透明性和复用,现有的类复用且不需要改变。
目标类和适配器类的解耦提高程序的扩展性。
扩展功能时通过新建类来实现,不需改动源码,符合开闭原则。
适配器模式缺点
适配器过多时会降低代码阅读性,使得代码变得比较凌乱,难以阅读。
适配器模式是通过继承来实现的,违背了合成复用原则。
版权声明: 本文为 InfoQ 作者【梁歪歪 ♚】的原创文章。
原文链接:【http://xie.infoq.cn/article/30f04056d310a1c358dd894f9】。文章转载请联系作者。
评论