适配器模式又叫变压器模式,它的功能是将一个类的接口变成客户端所期望的另一种接口,从而使原本因接口不匹配而导致无法在一起工作的两个类能够在一起工作。
- 1.已存在的类,它的方法和需求不匹配(方法结果相同或者相似)的情况。
- 2.适配器模式不是软件设计阶段考虑的设计模式,是随着软件的维护,由于产品的不同,不同需求造成类似功能而接口不同情况下的解决方案。
优点
- 1.可以提高类的透明性和复用,现在的类的复用但不需要改变
- 2.目标类和适配类解耦,提高程序的扩展性
- 3.在很多场景下符合开闭原则
1.类适配器
public interface Target {
public int request();
}
public class Adaptee {
public int specificRequest()
{
return 220;
}
}
public class Apapter extends Adaptee implements Target {
@Override
public int request() {
return super.specificRequest() / 10;
}
}
public class AdapterTest {
public static void main(String[] args) {
Apapter apapter = new Apapter();
int specificRequest = apapter.specificRequest();
int request = apapter.request();
System.out.println(specificRequest);
System.out.println(request);
}
}
2.对象适配器
public interface Target {
public int request();
}
public class Adaptee {
public int specificRequest()
{
return 220;
}
}
public class Apapter implements Target {
private Adaptee adaptee;
public Apapter(Adaptee adaptee)
{
this.adaptee = adaptee;
}
@Override
public int request() {
return adaptee.specificRequest() / 10;
}
}
public class AdapterTest {
public static void main(String[] args) {
Target target = new Apapter(new Adaptee());
target.request();
}
}