码迷,mamicode.com
首页 > 其他好文 > 详细

策略模式

时间:2014-10-11 21:04:07      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:os   使用   ar   java   sp   2014   on   new   bs   

/**
 *  抽象的的策略角色
 *	
 *	@date  2014-10-4上午10:04:33
 */
public interface Stratrgy {
   public void dosomething();
}
public class CreateStrategy1 implements Stratrgy {

	@Override
	public void dosomething() {
		System.out.println("执行具体的算法1。。。。。。。。。。。。");
	}

}
public class CreateStrategy2 implements Stratrgy {

	@Override
	public void dosomething() {
		System.out.println("执行具体的算法2。。。。。。。。。。。。");
	}

}

public class Context {
    private Stratrgy sty= null;
	public Context(Stratrgy _sty) {
		this.sty = _sty;
	}
    public void doAnything(){
    	this.sty.dosomething();
    }
}

/**
	 * 
	 * 策略模式的优点:
	 * 1.算法可以自由的切换
	 * 2.避免使用多重条件判断
	 * 3.扩展性良好
	 * 策略模式的缺点:
	 * 1.策略类数量增多
	 * 2.所有的策略类都需要对外暴露(可以用工厂方法模式、代理模式或享元模式来修正缺陷)
	 */
	public static void main(String[] args) {
		Stratrgy sty1 = new CreateStrategy1();
		
		Stratrgy sty2 = new CreateStrategy2();
		
		Context context = new Context(sty1);
		
		context.doAnything();
		
	}


策略模式

标签:os   使用   ar   java   sp   2014   on   new   bs   

原文地址:http://my.oschina.net/u/586094/blog/326886

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!