Java 设计模式 之 策略模式

package com.strategy.theory;

public class TestStrategy
{
	public static void main(String[] args)
	{
		Context ctx=new Context(new StrategyImplA());
		ctx.doMethod();
		
		ctx=new Context(new StrategyImplB());
		ctx.doMethod();
		
		ctx=new Context(new StrategyImplC());
		ctx.doMethod();
	}
}






package com.strategy.theory;

public class Context
{
	private Strategy strategy;
	
	public Context(Strategy strategy)
	{
		this.strategy=strategy;
	}
	
	public void doMethod()
	{
		strategy.method();
	}
}






package com.strategy.theory;

public abstract class Strategy
{
	public abstract void method();
}






package com.strategy.theory;

public class StrategyImplA extends Strategy
{

	@Override
	public void method()
	{
		System.out.println("方法实现 A");
		
	}

}






package com.strategy.theory;

public class StrategyImplB extends Strategy
{

	@Override
	public void method()
	{
		System.out.println("方法实现 B");
		
	}

}







package com.strategy.theory;

public class StrategyImplC extends Strategy
{

	@Override
	public void method()
	{
		System.out.println("方法实现 C");
		
	}

}



至简 VereMVC 框架


至简 Java


设计模式 Java 实战


剖析 Java 并发编程


Java 深入浅出 数据结构算法


Java NIO 精髓实战


Java JVM 虚拟机 代码与图解


至简 SQL 基础 MySQL


至简 SQL Oracle


透析 JDBC


至简 Java Web 案例驱动


至简框架 Java


Java 集群架构实战


至简 HTML CSS JavaScript


集合 XML JSON 解析互换原理


Android 循序渐进 实战


至简 Python


Python 设计模式


Python 深入浅出 数据结构算法


至简 Python VereWeb 案例驱动

Java 设计模式 之 策略模式