策略模式
来源:互联网 发布:淘宝用户服务协议 编辑:程序博客网 时间:2024/06/06 06:54
定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。
算法接口:
public interface Strategy { public int doOperation(int num1, int num2);}
算法实现:
public class OperationAdd implements Strategy{ @Override public int doOperation(int num1, int num2) { return num1 + num2; }}public class OperationSubstract implements Strategy{ @Override public int doOperation(int num1, int num2) { return num1 - num2; }}public class OperationMultiply implements Strategy{ @Override public int doOperation(int num1, int num2) { return num1 * num2; }}
根据不同的策略执行:
public class Context { private Strategy strategy; public Context(Strategy strategy){ this.strategy = strategy; } public int executeStrategy(int num1, int num2){ return strategy.doOperation(num1, num2); }}
传入策略进行测试:
public class StrategyPatternDemo { public static void main(String[] args) { Context context = new Context(new OperationAdd()); System.out.println("10 + 5 = " + context.executeStrategy(10, 5)); context = new Context(new OperationSubstract()); System.out.println("10 - 5 = " + context.executeStrategy(10, 5)); context = new Context(new OperationMultiply()); System.out.println("10 * 5 = " + context.executeStrategy(10, 5)); }}
阅读全文
0 0
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- RPM,YUM,源码包安装
- Android 开发过程中遇到了一个问题 小记录一下 ERROR: In <declare-styleable> BorderLinearLayout, unable to find attribu
- tomcat service配置
- 第八周项目2-链串算法库
- Android-WiFi打印功能-实现
- 策略模式
- su、sudo与限制root远程登录操作
- Go语言变量作用域
- 11.1 T3.race(Trie+x^2的转化)
- ZOJ-3329-One Person Game
- 客户购房体验如何提高?
- jquery-1.9.1.min.js:69 Uncaught TypeError: Illegal invocation
- Android XML文件添加空格
- Scroll 单个目标居中显示