什么是适配器设计模式
- 首先有一个接口,里面有很多方法
public interface MyInterface {
void m1();
void m2();
void m3();
void m4();
void m5();
void core();
}
大多数情况下,该接口中只有一个方法是某个实现类的主要方法,比如说:
public class UserService implements MyInterface{
@Override
public void m1() {}
@Override
public void m2() {}
@Override
public void m3() {}
@Override
public void m4() {}
@Override
public void m5() {}
@Override
public void core() {
System.out.println("UserService's method core execute!");
}
}
而另外一个实现类中的主要方法则是m2()。
public class CustomerService implements MyInterface{
@Override
public void m1() {}
@Override
public void m2() {
System.out.println("CustomerService's method m2 execute!");
}
@Override
public void m3() {}
@Override
public void m4() {}
@Override
public void m5() {}
@Override
public void core() {}
}
为了解决代码冗余,让代码更加美观。针对UserService写一个适配器UserServiceAdapter,实现MyInterface2接口,将常用的core方法定义为抽象方法,然后只需要让UserService实现该适配器,重写core方法即可,大大减少了代码量。
public abstract class UserServiceAdapter implements MyInterface2 {
@Override
public void m1() {}
@Override
public void m2() {}
@Override
public void m3() {}
@Override
public void m4() {}
@Override
public void m5() {}
@Override
public abstract void core();