适配器模式(变压器模式):Adapter Pattern、结构型模式
适配器模式将一个类的接口变成客户端所期望的另一种接口,使原本不匹配的接口现在能够在一起工作。
适配器模式核心在于 适配器模式就是一个中间层,注重兼容、转换
适配器模式应用场景
1、已经存在的类,它的方法和需求不匹配的情况
2、适配器模式不是软件设计阶段考虑的,而是随着软件维护,出现的具体解决方案。
ps:生活中的应用场景:手机充电转化头、显示器HDMI转化器
适配器模式三种形式
1、类适配器:通过继承来实现适配器功能。
2、对象适配器:通过组合来实现适配器功能。
3、接口适配器:通过抽象类实现接口,并且空实现接口众多方法。
适配器模式的优缺点
优点:
1、能提高类的透明性和复用性,现有的类复用但不需要改变
2、目标类和适配器类实现解耦,提高程序的扩展性
3、大部分场景中符合开闭原则
缺点:
1、适配器模式使用过程需要全面考虑,可能增加系统的复杂性
2、增加代码阅读难度,降低代码可读性,过多使用适配器会使代码变得凌乱
适配器模式源码应用
1、SpringAOP中的 AdvisorAdapter 类
2、SpringMVC中的 HandlerAdapter 类