策略模式:方法的形参为接口对象,实参为接口的实现类
适配器模式:在适配器中定义适配者来辅助实现接口
相似点:都是通过找到已经存在的、运行良好的类来实现接口
不同点:
策略模式 所有的策略都需要暴露出去,由客户端决定使用哪一个策略。
而适配器模式是定义好接口的实现方式以及内部需要引用的类,客户端直接调用适配器的方法
然后以下是简单的模式设计代码:
策略模式 :
适配器模式:
public class Adaptee {
public void adapteeRequest() {
System.out.println("被适配者的方法");
}
}
public interface Target {
void request();
}
public class Adapter extends Adaptee implements Target{
@Override
public void request() {
//...一些操作
super.adapteeRequest(); //super调用的是extends
//...一些操作
}
}