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

来源:互联网 发布:js 解压缩 编辑:程序博客网 时间:2024/04/30 20:15

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 {@Overridepublic int daohang(int daohangfangshi) {// TODO Auto-generated method stubreturn 0;}}

package com.ferris.strategy;public class WalkStrategy implements BaseStrategy{@Overridepublic int daohang(int daohangfangshi) {// TODO Auto-generated method stubreturn 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); //切换对应的算法}}}



0 0