策略模式就是定义了一系列的不同的算法并封装,在不同的时候根据需求调用不同的算法,能互相替换,使算法独立于调用他的
客户端。比如简单的排序,定义不同的排序方法,再根据需求调用不同的方法。(语法上是接口回调)
参与者:
Stratege:策略 定义所有算法的公共接口。
Client: 客户端 用来调用指定算法,维护一个Stratege接口的引用,把需求传递给Stratege,来调用不同的算法。选择不同的算法来使用。
StrategeOne:算法一 实现Stratege接口。
StrategeTwo:算法二 实现Stratege接口。
公共接口Stratege:
public interface Strategy {
public void f();
}
方法1method:
public class method1 implements Strategy {
@Override
public void f() {
System.out.println("我是f1");
}
}
public class method2 implements Strategy {
@Override
public void f() {
System.out.println("我是f2");
}
}
Client 客户端:
public class Client {
public static void main(String[] args) {
Strategy s;
s=new method1();
s.f();
s=new method2();
s.f();
}
}