策略模式
首先我们来看看策略模式类图

简单解释一下这个类图,Context是一个上下文,runStraregy是一个步骤,而并不是Context的全部,也就是说策略模式是在一个运行上下文中
存在一个关键步骤可以采用不同的方式去实现,每一种实现被称为一种策略,这就是策略模式
package demo.mybatis;
public class StrategyDemo {
public static interface Strategy{
void run();
}
public static class Context{
private Strategy strategy;
public Context(Strategy strategy){
this.strategy = strategy;
}
public void runStrategy(){
this.strategy.run();
}
public void run(){
System.out.println("进入策略之前");
this.runStrategy();
System.out.println("策略执行完之后");
}
}
public static class Strategy_A implements Strategy {
public void run() {
System.out.println("这是策略A");
}
}
public static void main(String[] args){
Context context = new Context(new Strategy_A());
context.run();
}
}
浙公网安备 33010602011771号