Strategy Design Pattern 策略设计模式
来源:互联网 发布:mac 右键 编辑:程序博客网 时间:2024/06/07 05:49
1. Strategy Design Pattern是什么?
策略设计模式是行为模式的一种。它定义了一组封装好的算法,可以用来执行某种特定的行为。
在策略设计模式中国年,我们创建代表不同策略不同上下文的类,所选择的策略模式对象选取不同的算法执行。
2. 策略设计模式UML图
Context中包含着 Strategy 对象。上下文的设置可能是任何需要变化行为的情形–比如需要不同排序算法的例子等。
Strategy 被设计成一种接口存在,而ConcreteStrategy可以在Context中自由切换,不会影响Context的实现。
3. 策略设计模式Demo
package com.fqyuan.thinking;interface Strategy { public int operate(int num1, int num2);}class ConcreteStrategyAdd implements Strategy { @Override public int operate(int num1, int num2) { return num1 + num2; }}class ConcreteStrategySubtract implements Strategy { @Override public int operate(int num1, int num2) { return num1 - num2; }}class ConcreteStrategyMulti implements Strategy { @Override public int operate(int num1, int num2) { return num1 * num2; }}class Context { private Strategy strategy; public Context(Strategy strategy) { this.strategy = strategy; } public int executeStrategy(int num1, int num2) { return strategy.operate(num1, num2); }}public class StrategyDemo { public static void main(String[] args) { int num1 = 22, num2 = 4; Context context1 = new Context(new ConcreteStrategyAdd()); int result1 = context1.executeStrategy(num1, num2); System.out.println(num1 + " + " + num2 + " = " + result1); Context context2 = new Context(new ConcreteStrategySubtract()); int result2 = context2.executeStrategy(num1, num2); System.out.println(num1 + " - " + num2 + " = " + result2); Context context3 = new Context(new ConcreteStrategyMulti()); int result3 = context3.executeStrategy(num1, num2); System.out.println(num1 + " * " + num2 + " = " + result3); }}//Running result:22 + 4 = 2622 - 4 = 1822 * 4 = 88
阅读全文
0 0
- Strategy Design Pattern 策略设计模式
- 策略设计模式 Strategy Design Pattern
- Java设计模式 Design Pattern:策略模式 Strategy Pattern
- Design Pattern-Strategy Pattern 设计模式之策略模式
- Java设计模式 Design Pattern:策略模式 Strategy Pattern
- 设计模式1--策略模式(the strategy design pattern)
- 设计模式学习—策略模式(Strategy Design Pattern)
- 8.2.1 策略设计模式(The strategy design pattern)
- 策略模式 in Java (Strategy Design Pattern)
- Java Design Patterns--Strategy Pattern --策略模式
- Design Pattern 设计模式1 - Strategy 1
- 设计模式 - Strategy Pattern(策略模式)
- 设计模式 - Strategy Pattern(策略模式)
- 设计模式20:Strategy Pattern (策略模式)
- 设计模式-策略模式(Strategy Pattern)
- 设计模式:策略模式 strategy pattern
- java设计模式---Strategy Pattern---策略模式
- 设计模式之策略模式(Strategy Pattern)
- ThinkPHP volist 二级循环输出
- Java中的24种设计模式与7大原则
- springmvc文件下载
- Activity显示启动方式和隐式启动方式
- CentOS python2.6.6 升级 2.7.5 并安装pip, apscheduler
- Strategy Design Pattern 策略设计模式
- react native 环境搭建
- C和C指针--第6章习题
- 【Struts2】Struts2学习(7) 拦截器
- 同时执行多个$.getJSON() 数据混乱的问题的解决
- PowerDesigner中怎样切换PDM的数据库管理系统DBMS?
- 字符串aabbbccaaaaa转换成a2b3c2a5,并按照降序输出如a5b3a2c2
- Java基础算法、编写规范等
- 生活的选择