Strategy策略模式
来源:互联网 发布:creis中指数据 账号 编辑:程序博客网 时间:2024/05/01 22:46
Strategy策略模式
用意:针对一组算法,将每组算法封装到具有相同接口的独立类中,从而全它们可以相互替换。每一个算法,就是一个策略
例如排序策略,冒泡A,快速B 都实现ISort
如: 集合中的Comparator接口
步骤:
1.定义一个公共接口
2.实现每个具体策略类,该类实现了公共接口
3.在使用策略对象的类中保存一个对策略对象的引用 (如:java.util.Collections.sort(list,comparator)
4. 在使用策略对象的类中可以设置策略对象 (如:可以设置comparator)
公共接口
Interface ICalculate{ public int calculate(int a,int b);}
策略类
class AddCalculate implements ICalculate { public int calculate(int a,int b){ return a+b; }}class SubCalculate implements ICalculate { public int calculate(int a,int b){ return a-b; }}
使用类(计算器)
class Calculater { private ICalculate calculate ; public Calculater (ICalculate calculate){ this.calculate = calculate ; } public void setCalculate( ICalculate calculate){ this.calculate = calculate ; } public int getResultByStrategy(int a,int b){ int i = this.calculate.calculate(a,b); return i; }}
- 策略模式 Strategy模式
- Strategy模式 策略模式
- 策略模式(Strategy模式)
- 策略模式(Strategy Pattern)
- Strategy策略模式
- 策略(Strategy)模式
- Strategy策略模式
- 策略(Strategy)模式
- 策略模式(Strategy Pattern)
- 策略模式 Strategy Pattern
- 策略模式(Strategy Pattern)
- 策略模式(Strategy)
- HeadFirst Strategy策略模式
- 策略模式(Strategy Pattern)
- Strategy Pattern (策略模式)
- 泛化策略模式(Strategy)
- Strategy 策略模式
- Strategy 策略模式
- matlab手记(1)
- ScriptManager和UpdatePanel控件
- 如何确定一个虚拟地址对应的汇编代码
- s5pv210开发板linux ac97 alsa驱动
- SYBASE 转 SQL SERVER 触发器 ROLLBACK TRIGGER
- Strategy策略模式
- EasySize
- 怎样修改计算机MAC地址
- 算法 树小结
- JavaWeb_Servlet_字符乱码问题
- 数据库mysql存储过程Insert、update
- 开启CSDN之旅
- 《黑马程序员》了解java中的注解
- C++编程思想笔记——引用和拷贝构造函数