适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。就像中美两国的插头标准是不一样的,可以用一个转接头来适配。
假设第三方库有这么样的一个类:
class ThirdPartService{
public void run(){
//TODO
}
}
那么这时候为了统一操作,可以对这个接口进行封装(适配),
class MyService{
private ThirdPartService thirdPartService;
public void play(){
thirdPartService.run();
}
}
这样就可以以一个统一的接口来调用thirdPartService。
那么,为什么要多次一举?多封装一层对象来进行适配有什么好处?
一是我们可以享受到多态的好处,多态的好处在之前的文章以讨论过。
二就是降低复杂性,第三方库的调用可能比较复杂,而且不在我们的可控范围,所以我们使用封装(适配)能有效避免因为第三方接口变动而带来代码的大面积修改。