设计模式之---策略模式
来源:互联网 发布:c语言游戏 编辑:程序博客网 时间:2024/06/01 22:43
在软件开发中常常遇到这种情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如何灵活地进行策略切换,这就是我们策略模式要做的。
Context算是一个上下文对象,来进行策略切换的中间类。
package strategy;public interface Strategy { public void operate(); }
package strategy;public class Algorithm0 implements Strategy {@Overridepublic void operate() {// TODO Auto-generated method stubSystem.out.println("算法0");}}
package strategy;public class Algorithm1 implements Strategy {@Overridepublic void operate() {// TODO Auto-generated method stubSystem.out.println("算法1");}}
package strategy;public class Context {private Strategy strategy;public void setStrategy(Strategy strategy) {this.strategy=strategy;}public void operate(){ this.strategy.operate(); }}
package strategy;public class Client {public static void main(String[] args) {// TODO Auto-generated method stubContext context=new Context();Strategy algorithm0=new Algorithm0();//可以切换算法context.setStrategy(algorithm0);context.operate();Strategy algorithm1=new Algorithm1();context.setStrategy(algorithm1);context.operate();}}
1 0
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- MongoDB地理位置索引
- jsp获取请求路径
- 如何使用CMD Command 在Windows中查找和删除任何计算机病毒
- 第五章 条件,循环和其他语句
- 51nod_1264线段相交
- 设计模式之---策略模式
- python默认值、关键字参数
- 百度笔试-度度熊回家距离
- arguments.callee.length与arguments.length
- fedora 25 下安装 haroopad
- 机器学习并没有那么深奥,它还很有趣(1)
- Eloquent JavaScript 笔记 二:Program Structure
- java客户端向服务器发送数据
- KMP算法的Next数组详解