定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。
public class Strategy_Main {
public static void main(String[] args) {
Strategy strategy = new Strategy_Demo2();
Context context = new Context(strategy);
context.doStrategy();
}
}
class Context {
private Strategy strategy;
public Context(Strategy strategy) {
this.strategy = strategy;
}
public void doStrategy(){
if (strategy != null)
strategy.operation();
}
}
interface Strategy {
void operation();
}
class Strategy_Demo1 implements Strategy{
@Override
public void operation() {
System.out.println("Strategy_Demo1 策略操作执行...");
}
}
class Strategy_Demo2 implements Strategy{
@Override
public void operation() {
System.out.println("Strategy_Demo2 策略操作执行...");
}
}