策略模式
来源:互联网 发布:如何查看mac硬盘容量 编辑:程序博客网 时间:2024/06/01 09:28
何谓策略模式?
本人的理解是:一个对象要完成一件事情,有很多种实现策略。为了把对象与实现方式解耦,可以使用策略模式(Strategy)
模式的组成
环境类(Context):用一个ConcreteStrategy对象来配置。维护一个对Strategy对象的引用。可定义一个接口来让Strategy访问它的数据。
抽象策略类(Strategy):定义所有支持的算法的公共接口。 Context使用这个接口来调用某ConcreteStrategy定义的算法。
具体策略类(ConcreteStrategy):以Strategy接口实现某具体算法。
写一段策略模式的伪代码 :
Interface 砍树类(策略接口){砍树();}class 锯子砍树 implements 砍树类---具体的策略类{砍树(){用锯子锯……}}class 电锯砍树 implements 砍树类---具体的策略类{砍树(){用电锯锯……}}class 指甲刀砍树 implements 砍树类---具体的策略类{砍树(){用指甲刀剪……}}class 环境类(context)---一个环境类,来"智能"选择具体的策略{private 砍树类(一个引用)设置策略方法(砍树的具体类){砍树类 = 砍树的具体类}我要砍树(){砍树类.砍树();}}
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 雨晨QQ2012 (4924)绿色版|qq三显IP显隐身VIP完美自选版
- js 对象理解(2)---对象的原型与对象
- 书香与女人
- Android动态添加menu菜单
- Ubuntu Server 12.04安装图解教程
- 策略模式
- 心醉七夕
- 下载notepad++绿色版的地方
- 《深入理解java虚拟机》学习笔记10——并发编程(二)
- C - Colorful Rainbows 解题报告 (双向栈)
- Android TabHost的使用 .
- Android广播机制详解
- RegExp对象详解
- C#--第三周实验--任务3--输入学号和姓名,输出学号为奇数的所有学生。(控制台应用)