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); //切换对应的算法 } } }
时间: 2024-10-15 06:35:40