浅谈策略模式(strategy)
来源:互联网 发布:淘宝上的雷锋侠 编辑:程序博客网 时间:2024/04/30 21:54
策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数,关系图如下:
----实例实现
定义接口:
public interface ICalculator { public int calculate(String exp);}
辅助类:
public class AbstractCalculator { public int[] split(String exp,String opt){ String array[]=exp.split(opt); int arrayint[]=new int[2]; arrayint[0]=Integer.parseInt(array[0]); arrayint[1]=Integer.parseInt(array[1]); return arrayint; }}
三个实现类:
public class Plus extends AbstractCalculator implements ICalculator {@Overridepublic int calculate(String exp) {int arrayint[]=split(exp, "\\+");return arrayint[0]+arrayint[1];}}
public class Minus extends AbstractCalculator implements ICalculator {@Overridepublic int calculate(String exp) {int arrayint[]=split(exp, "-");return arrayint[0]-arrayint[1];}}
public class Multiply extends AbstractCalculator implements ICalculator {@Overridepublic int calculate(String exp) {int arrayint[]=split(exp, "\\*");return arrayint[0]*arrayint[1];}}测试类:
public class StrategyTest { public static void main(String[] args) { String exp="2+8"; ICalculator cal=new Plus();int result=cal.calculate(exp); System.out.println(result); }}
0 0
- 浅谈策略模式(strategy)
- 浅谈Java设计模式(十三)策略模式(strategy)
- 浅谈 java 设计模式--策略模式(Strategy pattern)
- 策略(Strategy)模式
- Strategy(策略)模式
- 策略(Strategy)模式
- Strategy(策略模式)
- 策略模式(Strategy)
- 策略模式(Strategy)
- Strategy(策略模式)
- 策略模式(Strategy)
- 策略模式(Strategy)
- 策略(strategy)模式
- 策略模式(strategy)
- 策略(strategy)模式
- 策略模式(Strategy)
- 策略模式(Strategy)
- 策略模式(Strategy)
- 北京2女司机相撞 互呛对方:你全家都是女司机
- 动态给TextView的背景赋值图片
- activity 启动白屏黑屏问题
- 《netty权威指南》13文件传输
- GEM5: Different cache latency for read and write access 设置不同的读写latency
- 浅谈策略模式(strategy)
- 无约束最优化方法——牛顿法、拟牛顿法、BFGS、LBFGS
- cocos2dx 3.2 getBoundingBox和getTextureRect
- 微软100题(16)二叉树的层序遍历
- 十二周——杭电——1002Delta-Wave
- 判断UISrollview的滑动方向
- 黑马程序员--ios中 property的参数
- Thinking in java(java编程思想)(1-6章)
- 河南一女子因家暴砍死丈夫获从宽判处