简介
适配器模式使用场景: 当我们有已经实现的功能,但是与现在要求的接口不一致,则可以使用适配器模式用现在的接口去调用已经有了的实现的接口,总之,适配器的使用是为了复用已有的功能.
例子
其实,我们在工作中用的很多,例如Aservice a方法 需要调用Bservice的方法 b方法,就需要将BService实例注入到Aservice中,这就是适配器的使用了,我们要调用A的方法,但是我们知道了B中的b方法可以实现,就在A中用b的实例调用其b方法即可,这就复用了b方法.
class Aservice{
@Autowired
private IBservice bservice;
public void a (){
bservice.b();
}
}
总结
其实就是使用了组合的能力,Aservice持有Bservice的实例,则就可以用Bservice的方法了.
对比
1.对比装饰者模式,装饰者模式也是使用了组合的特性,但是其需要持有的是基类,并且调用的方法也是基类的方法,这就使其具备递归的特性,适配器则不具备,装饰者模式可以看做适配器的一种特例吧.