1.首先什么是适配器模式哩?百度了一下适配器,官方定义是一个接口转换器。诶,看到接口很熟悉
哈,java程序里面充斥着各种接口,然后继续看转换器,转换器是什么,我个人第一反应就是,苹
果手机的音频转接头,以前是竖直插口耳机,后面是扁头的插口耳机,我不用新买一个扁头的插
口耳机,通过一个转换器,新款的苹果手机也能使用竖直插口耳机。继续,联想思考到咱们程序
里面,两个独立的接口之间通过适配器模式,完成转换。那么接口之间有什么需要转换的,那也
只有接口里面的方法了吧。那么方法有什么好转换的,当然是统一风格的方法名喽。比如,一
个查询方法的命名,有些人喜欢用getXXX(),有些人喜欢用queryXXX()。所以适配器模式的定
义就呼之欲出了。
总结(画重点哩):适配器模式就是:一般在版本迭代的时候,新接口的方法定义规范,发生了改变,
且新接口的方法功能,需要用到老接口的方法逻辑。这个时候为了统一规范风格,那么就可以使用
适配器模式。
2.ok,适配器模式的定义和使用场景分析完了,最后再看看怎么去实现一个适配器模式哩?
a.首先你肯定是要有两个不同的接口(NewInterface,OldInterface),及其对应的实现类
(NewInterfaceImpl,OldInterfanceImpl),不同风格的方法(get(),query())
b.创建一个适配器类(AdapterPattern),实现新的接口(NewInterface)。因为咱们是要对老
的接口做适配,所以这个适配器类里面还需要有一个老的接口对象(OldInterface)
c.因为是要统一方法风格,所以里面也需要有个get()方法,又因为要用到老接口的方法逻辑,
所以get()方法里面,是老接口方法的调用封装(oldInterface.query())
d.再给适配器类一个构造函数,初始化类里面的老接口对象
e.最后我们在使用这个适配器模式的时候,如下,即可
NewInterface oldObject = new AdapterPattern(new OldInterfanceImpl());
NewInterface newInterface = new NewInterfaceImpl();
oldObject.get();
newInterface.get();