簡介
適配器模式使用場景: 當我們有已經實現的功能,但是與現在要求的接口不一致,則可以使用適配器模式用現在的接口去調用已經有了的實現的接口,總之,適配器的使用是爲了複用已有的功能.
例子
其實,我們在工作中用的很多,例如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.對比裝飾者模式,裝飾者模式也是使用了組合的特性,但是其需要持有的是基類,並且調用的方法也是基類的方法,這就使其具備遞歸的特性,適配器則不具備,裝飾者模式可以看做適配器的一種特例吧.