yangyang12138

导航

策略模式

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

简单解释一下这个类图,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();
	}
}

  

posted on 2017-09-18 01:25  杨杨09265  阅读(170)  评论(0编辑  收藏  举报