网络罗列了很多适配器的文章,但总的来说第一写得太官方,第二写得太啰嗦,第三讲得不太对,可能作者自己还没理解吧。
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
适配器模式,在我的理解,就是为一个接口写一个驱动。
通俗的讲,我们就是想用一个目标接口(Target),去做一个其他接口(Adaptee)能做的事。
package DesignPattern;
interface Target {//被适配的目标接口
public void myMethod();
}
class Adapter implements Target {//这个就是适配器:适配目标接口,也就是想用这个接口做其他接口能做的事,这里就想做Adaptee接口想做的事,也就是想调用adapteeMethod()方法,
private Adaptee adaptee;
public Adapter(Adaptee adaptee) {
this.adaptee=adaptee;
}
public void myMethod() {
adaptee.adapteeMethod();
}
}
interface Adaptee {//这就是Target想做的事
public void adapteeMethod();
}
class AdapteeImpl implements Adaptee{
public void adapteeMethod() {
System.out.println("我才是你们正在想要到的");
}
}
public class AdapterTest {
public static void main(String[] args) {
Target target = new Adapter(new AdapteeImpl());//我现在是想用target接口,
//这时的target接口已经实现了Adaptee接口能做的事情了
target.myMethod();
}
}
运行结果:
我才是你们正在想要到的