您的位置:首页 > 其它

设计模式系列之五:适配器模式

2017-02-21 14:36 232 查看
适配器模式属于结构型设计模式,主要应用于升级或改造旧系统时。所谓适配器按生活中的说法就是一个转接口,将原本不直接匹配的两个产品组合起来,类似于用iPhone手机充电器给android手机充电需要一个转换头,生活中这种例子随处可见。

适配器模式主要有三个组成部分,目标接口(Target),适配器(Adapter),适配对象(Adaptee)。

package com.panda.adpter;

public interface Target {
void targ();
}


package com.panda.adpter;

public class Adaptee {
public void ada(){
System.out.println("适配对象方法!");
}
}

package com.panda.adpter;

public class Adapter extends Adaptee implements Target {

@Override
public void targ() {
// TODO Auto-generated method stub
super.ada();
}

}

package com.panda.adpter;

public class Client {
public void test(Target t){
t.targ();
}
public static void main(String[] args) {
Client c = new Client();
//		Adapter a = new Adapter();
Target  t = new Adapter();
c.test(t);
}
}

以上所采用的是类适配器,直接通过继承来实现,由于继承只能是单个继承,不够灵活,所以这种方法一般不如使用对象适配器。

package com.panda.adpter;

public class Adapter  implements Target {
private Adaptee adaptee;

public Adapter(Adaptee adaptee) {
super();
this.adaptee = adaptee;
}

@Override
public void targ() {
// TODO Auto-generated method stub
adaptee.ada();
}

}

package com.panda.adpter;

public class Client {
public void test(Target t){
t.targ();
}
public static void main(String[] args) {
Client c = new Client();
Adaptee a = new Adaptee();
Target  t = new Adapter(a);
c.test(t);
}
}

得到的结果都是一样的

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息