设计模式之策略模式
来源:互联网 发布:淘宝卖家怎样申诉 编辑:程序博客网 时间:2024/06/03 16:47
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。
示例类图:
示例代码:
public interface Strategy{ public void Algorithmlnterface();}
public class ConcreteStrategyA implements Strategy{ public void Algorithmlnterface() { System.out.println("A"); }}
public class ConcreteStrategyB implements Strategy{ public void Algorithmlnterface() { System.out.println("B"); }}
public class ConcreteStrategyC implements Strategy{ public void Algorithmlnterface() { System.out.println("C"); }}
public class Context{ private Strategy strategy; public Context(Strategy strategy){ this.strategy=strategy; } public void AlgorithmInterface(){ strategy.AlgorithmInterface(); }}
调用:
public class test{ public static void main(String[] args){ Context c=new Context(new ConcreteStrategyC()); c.AlgorithmInterface(); }}
策略模式就是用来封装算法的,但在实践中,我们发现可以用它来封装几乎任何类型的规则,只要在分析过程中听到需要在不同时间应用不同业务规则,就可以考虑使用策略模式处理这种变化的可能行。
0 0
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- hdu 1425 hash入门
- HDU 1789 贪心
- Vim 常用快捷键
- Android4.0(Phone)拨号启动过程分析(二)
- Prime Path(POJ 3126)解题报告
- 设计模式之策略模式
- Wargames:io.smashthestack Level 1
- 工作周记
- Pots(POJ 3414)解题报告(虫前,有两个痛)
- HDOJ--4893--Wow! Such Sequence!【线段树+单点、区间更新】
- 找球号二----138
- UVA - 657 The die is cast(二重dfs)
- JDBC高级编程——处理元数据
- 用命令行自动打包成.ipa文件-完全攻略