设计模式之策略模式
来源:互联网 发布:php global用法 编辑:程序博客网 时间:2024/06/03 06:37
策略模式定义算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变换不会影响到用户的使用。这些算法完成相同的行为,只不过实现方式不同。以下是策略模式的UML图解以及简单实现:![UML图](http://img.blog.csdn.net/20160826113038128)其中Context负责维护Strategy的引用
class Context{ private Strategy strategy; public Context(Strategy strategy){ this.strategy=strategy; } public void contextInterface(){ strategy.caculate(); } public void ContextInterfce(String type){ switch(type){ case "strategyA": strategy=new StrategyA(); strategy.caculate(); case "strategyB": strategy=new StrategyB(); strategy.caculate(); } }}abstract class Strategy{ public Object caclulate();}class StrategyA extends Strategy{ public Object caclulate(){ print("A"); }}class StrategyB extends Strategy{ public Object caclulate(){ print("B"); }}class StrategyC extends Strategy{ public Object caclulate(){ print("C"); }}
0 0
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 续传
- matplotlib 可视化 —— 定制 matplotlib
- Shell总结(整理)
- 修改setting的ui风格
- MongoDB-JAVA-Driver 3.2版本常用代码全整理(1) - 增删改
- 设计模式之策略模式
- #102 Linked List Cycle
- 如何更改ISE的IP核生成器中默认关联的PDF阅读器?
- 死锁
- 嵌入式学习--work2 IAR 如何建立模板
- [bug] captcha中demo运行失败(TypeError must be sequence of length 4, not 2)
- 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g
- 做个快乐的程序员
- 创建SpringMVC项目之使用配置文件实现