JAVA 设计模式 适配器模式
2017-09-01 09:51
127 查看
用途
适配器模式 (Adapter)
将一个类的接口转换成客户希望的另外一个接口。
Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
适配器模式是一种结构型模式。
结构
[align=center]图-适配器模式结构图[/align]
Target : 定义用户实际需要的接口。
abstract class Target {
public abstract void Request();
}
Adaptee : 定义一个需要适配的接口。
class Adaptee {
public void SpecificRequest() {
System.out.println("特殊请求");
}
}
Adapter : 通过在内部包装一个 Adaptee 对象,把源接口转换成目标接口。
class Adapter extends Target {
private Adaptee adaptee = new Adaptee();
@Override
public void Request() {
adaptee.SpecificRequest();
}
}
测试代码
public class AdapterPattern {
public static void main(String[] args) {
Target target = new Adapter();
target.Request();
}
}
运行结果
特殊请求
应用场景
想要使用一个已经存在的类,但如果它的方法不满足需求时;
两个类的职责相同或相似,但是具有不同的接口时要使用它;
应该在双方都不太容易修改的时候再使用适配器模式适配,而不是一有不同时就使用它。
[b]推荐[/b]本文属于 JAVA设计模式系列 。
[b]参考资料[/b]《大话设计模式》
《HeadFirst设计模式》
适配器模式 (Adapter)
将一个类的接口转换成客户希望的另外一个接口。
Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
适配器模式是一种结构型模式。
结构
[align=center]图-适配器模式结构图[/align]
Target : 定义用户实际需要的接口。
abstract class Target {
public abstract void Request();
}
Adaptee : 定义一个需要适配的接口。
class Adaptee {
public void SpecificRequest() {
System.out.println("特殊请求");
}
}
Adapter : 通过在内部包装一个 Adaptee 对象,把源接口转换成目标接口。
class Adapter extends Target {
private Adaptee adaptee = new Adaptee();
@Override
public void Request() {
adaptee.SpecificRequest();
}
}
测试代码
public class AdapterPattern {
public static void main(String[] args) {
Target target = new Adapter();
target.Request();
}
}
运行结果
特殊请求
应用场景
想要使用一个已经存在的类,但如果它的方法不满足需求时;
两个类的职责相同或相似,但是具有不同的接口时要使用它;
应该在双方都不太容易修改的时候再使用适配器模式适配,而不是一有不同时就使用它。
[b]推荐[/b]本文属于 JAVA设计模式系列 。
[b]参考资料[/b]《大话设计模式》
《HeadFirst设计模式》
相关文章推荐
- java设计模式之适配器模式
- Java 设计模式-适配器模式
- java设计模式学习笔记-适配器模式
- JAVA设计模式之适配器模式
- java设计模式_适配器模式
- java设计模式总结六:适配器模式
- Java设计模式——装饰器模式、适配器模式、外观模式
- Java设计模式之《适配器模式》及应用场景
- java设计模式之 -----适配器模式
- 设计模式--结构模式--适配器模式--Java
- java设计模式:适配器模式
- JAVA设计模式之适配器模式
- java设计模式-适配器模式
- java设计模式第1弹---适配器模式
- JAVA设计模式之适配器模式
- JAVA 设计模式 -- 适配器模式
- Java设计模式之适配器模式
- JAVA设计模式——适配器模式
- Java设计模式之适配器模式
- java设计模式(适配器模式)