首页 > 代码库 > 【设计模式篇】Android设计模式之-策略模式 自我见解

【设计模式篇】Android设计模式之-策略模式 自我见解

Android策略模式,主要有3个部分,算法抽象接口,一个上下文对象,具体算法三个部分

抽象接口实现一些公用的共有的方法。

上下文对象,对具体的方法进行,回调处理。这里面是面向接口编程。来切换对应的算法

具体算法,是实现与抽象的接口。

package com.ferris.strategy;

/**
 *  算法的接口,通过上下文来调用具体的策略实现方法
 * @author Administrator
 *
 */
public interface BaseStrategy {
	public int daohang(int daohangfangshi);
	
}

package com.ferris.strategy;

public class BikeSrategy implements BaseStrategy {

	@Override
	public int daohang(int daohangfangshi) {
		// TODO Auto-generated method stub
		return 0;
	}

}

package com.ferris.strategy;

public class WalkStrategy implements BaseStrategy{

	@Override
	public int daohang(int daohangfangshi) {
		// TODO Auto-generated method stub
		return 0;
	}

}
package com.ferris.strategy;

public class ContextStrategy {

	/**
	 * 设置策略,切换一个新的策略
	 */
	private BaseStrategy strategy;

	public BaseStrategy getStrategy() {
		return strategy;
	}

	public void setStrategy(BaseStrategy strategy) {
		this.strategy = strategy;
	}
	
	
	public void CalBaseSrategy(int index){
		if(strategy!=null&&strategy instanceof BaseStrategy){
			strategy.daohang(index); //切换对应的算法
		}
	}
}



【设计模式篇】Android设计模式之-策略模式 自我见解