适配器模式的定义: 将一个类的接口变成客户端所期待的另一种接口,从而使原本因接口不匹配而无法工作的两个类能够在一起工作;

适配器模式的UML图如下,适配器需要将Adaptee被适配者与target结合,从而使得客户端能够完成对不兼容对象adaptee的兼容调用

类适配器: 通过继承完成适配[存在一个被适配者]

设计原则与模式013 适配器模式_不兼容

对象适配器:通过关联关系完成适配:[从在多个被适配者]

设计原则与模式013 适配器模式_不兼容_02

通过依赖注入,注入多个被适配实现者

以下为自己对适配器模式产生的场景的总结:
在最开始的上下文中,我们定义了一系列的业务设计;并且满足了现有的业务设计,但需求变化无法预估,后来产生了一种新的场景,需要对接新的业务,而这部分业务不兼容现有的接口设计,通过新建适配器,将这部分业务的数据转换成现有的业务数据;
这就是适配器产生的根本原因,被适配者已经存在且无法兼容,如果新的需求未实现,那么完全可以采用扩展性的设计去实现,而不是通过适配器去实现

 

 

优点:

1 增加访问透明性,我们只需要访问目标角色金额适配者,而不需要访问被适配者

2 通过适配器做到可插拔,同时不影响现有结构保持开闭原则

缺点: 该模式实际适合多系统的交互,一个全新的设计系统不应该考虑使用该模式,适配的目的是做兼容

 

使用场景: 适配器模式是一种补救模式,但凡多个不兼容的系统需要兼容的时候就可以通过适配器模式去做补救