`

java 简单策略模式

阅读更多
/**
 * 抽象策略类(注:这边是用抽象方法,也可以顶一个策略接口然后抽象类去实现它的策略方法)
 * @author Administrator
 *
 */
public abstract class AbstractStrategy {
	
	public abstract void doSomething();
}

 

/**
 * 具体的策略
 * @author Administrator
 *
 */
public class Strategy1 extends AbstractStrategy{

	@Override
	public void doSomething() {
		System.out.println("Strategy1");
	}

}

 

/**
 * 具体的策略
 * @author Administrator
 *
 */
public class Strategy2 extends AbstractStrategy{

	@Override
	public void doSomething() {
		System.out.println("Strategy2");
	}

}

 

/**
 * contxt调用具体策略的容器
 * @author Administrator
 *
 */
public class StrategyFactory {
	public AbstractStrategy strategy;
	//构造方法
	public StrategyFactory(AbstractStrategy strategy){
		this.strategy=strategy;
	}
	public void doSomething(){
		strategy.doSomething();
	}
}
/**
 * 测试类
 * @author Administrator
 *
 */
public class StrategyMainTest {
public static void main(String[] args) {
	StrategyFactory factory1  = new StrategyFactory(new Strategy1());
	factory1.doSomething();
	StrategyFactory factory2  = new StrategyFactory(new Strategy2());
	factory2.doSomething();
}
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics