文档查阅说明:
定义:定义一组算法,将每个算法都封装起来,并且使它们之间可以互换
使用场景:
● 多个类只有在算法或行为上稍有不同的场景;
● 算法需要自由切换的场景;
● 需要屏蔽算法规则的场景
public abstract class Strategy {
/**
* 算法方法
*/
public abstract void algorithmInterface();
}
public class StrategyA extends Strategy {
@Override
public void algorithmInterface() {
System.out.println("算法A实现");
}
}
public class StrategyB extends Strategy {
@Override
public void algorithmInterface() {
System.out.println("算法B实现");
}
}
public class StrategyC extends Strategy {
@Override
public void algorithmInterface() {
System.out.println("算法C实现");
}
}
public class Context {
Strategy strategy;
public Context(Strategy strategy) {
super();
this.strategy = strategy;
}
public void ContextInterface() {
strategy.algorithmInterface();
}
}
public class Test {
public static void main(String[] args) {
Context context = new Context(new StrategyA());
context.ContextInterface();
}
}