.NET策略(Strategy)模式

目录

  1. 定义
  2. UML
  3. 参与者
  4. 示例

定义:

对算法的封装,是算法和责任分离。

UML:

参与者:

抽象策略(Strategy)角色:由一个接口或抽象类,定义实现该算法的方法。

具体策略(ContreteStrategy)角色:实现抽象角色算法的具体类。

环境(Context)角色:对策略角色的调用。

示例:

代码

Output

Called ConcreteStrategyA.AlgorithmInterface()
Called ConcreteStrategyB.AlgorithmInterface()
Called ConcreteStrategyC.AlgorithmInterface()

 

实际运用:

代码

Output

QuickSorted list
Anna
Jimmy
Samual
Sandra
Vivek
ShellSorted list
Anna
Jimmy
Samual
Sandra
Vivek
MergeSorted list
Anna
Jimmy
Samual
Sandra
Vivek

posted @ 2011-11-25 21:39  Lee's Blog  阅读(447)  评论(0编辑  收藏  举报