适配器模式与策略模式(设计模式适配器模式)

适配器模式(英文:Adapter Pattern)将一类的接口转换为客户端期待的另一个接口,使原来因接口不匹配而无法工作的类可以一起工作,今天小编就来聊一聊关于适配器模式与策略模式?接下来我们就一起去研究一下吧!

适配器模式与策略模式(设计模式适配器模式)

适配器模式与策略模式

什么是适配器模式?

适配器模式(英文:Adapter Pattern)将一类的接口转换为客户端期待的另一个接口,使原来因接口不匹配而无法工作的类可以一起工作。


一句话归纳

兼容转换头。

代码示例

在中国民用电都是220V,而美国民用电是110V,所以,我们使用电器时需要使用电源适配器做转换。

public class AC220 { public int outputAC220V() { return 220; } } interface AC110 { int outputAC110V(); } class PowerAdapter implements AC110 { private AC220 ac220; public PowerAdapter(AC220 ac220) { this.ac220 = ac220;} // 变压器 @Override public int outputAC110V() { return ac220.outputAC220V() / 2; } }

适用性

以下场景我建议你考虑使用:

  • 已经存在的类,他的方法与新提出的需求不匹配(最终结果相同)的时候;
  • 通过接口转换,把一个类插入到另一个类中;
  • 比如我们现有一个登录接口,只支持账号密码登录,现在有新需求支持手机短信、微信登录、QQ登录、第三方登录等等。
局限性

以下场景我建议你谨慎使用:

  • 开发之初不要考虑,他是亡羊补牢、江湖救急的时候考虑;
  • 过多的适配器模式,会让一个系统更加混乱,比如明明调的是A接口,但通过适配器变成是调B接口。
对象适配器和类适配器
  • 类适配器是类间继承,对象适配器是类的关联关系,这是两者的根本区别;
  • 对象适配器是通过类间的关联关系进行耦合的,比如修补源角色的隐形缺陷,关联其他对象等;类适配器就只能通过覆写源角色的方法进行扩展;
  • 在实际项目中,对象适配器使用到场景相对较多。

写在最后

好兄弟可以点赞并关注我的公众号“javaAnswer”,全部都是干货。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页