适配器模式:将一个类的接口转换成客户希望的另一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。
使用场景:
在软件开发中,当我们需要复用一些现存的类,然而接口不符合时,就要使用适配器模式。
优点:
可以提高软件类的复用性,并且大大的降低了维护的难度。
UML图:
代码实现:
package com.liran.main.DesignPattern.适配器模式;
/**
* 适配器模式
* Created by LiRan on 2016-02-23.
*/
public class Adapter_Pattern {
public static void main(String[] args) {
Target target=new Adapter();
target.Request();//对客户端来说调用的就是target的Request方法。
}
}
abstract class Target{
public abstract void Request();
}
class Adapter extends Target{
//建立一个私有的adaptee对象
private Adaptee adaptee=new Adaptee();
@Override
public void Request() {
//这样就可以把表面上调用Request方法变成实际调用SpecificRequest
adaptee.SpecificRequest();
}
}
class Adaptee{
public void SpecificRequest(){
System.out.println("特殊请求");
}
}