您的位置:首页 > 其它

设计模式——适配器模式

2018-01-30 10:35 169 查看
适配器模式,将一个类的接口变换成客户端所期待的另一种接口, 从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。

UML类图:



示例代码:

// 目标角色
public interface Target {

// 目标角色的方法
public void request();

}

// 目标角色的一个具体实现类
public class ConcreteTarget implements Target {

@Override
public void request() {
// 具体实现类的业务方法
}

}

// 源角色
public class Adaptee {

public void method(){
// 原来的业务逻辑
}

}

// 适配器角色
public class Adapter extends Adaptee implements Target {

@Override
public void request() {
// 在目标角色方法中执行源角色的方法
super.method();
}

}

// 测试类
public class Test {

public static void main(String[] args){
// 原业务逻辑
Target target = new ConcreteTarget();
target.request();
// 加入适配器后的业务逻辑
Target target2 = new Adapter();
target2.request();
}

}


适配器模式可以让两个没有任何关系的类在一起运行,访问的Target目标角色, 但是具体的实现都委托给了源角色, 而这些对高层次模块是透明的, 也是它不需要关心的。类似一个灵活的构件, 想用就用, 不想就卸载。

适配器模式最好在详细设计阶段不要考虑它,系统扩展了, 不符合原有设计的时候才考虑通过适配器模式减少代码修改带来的风险。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: