.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


作者:dingli
出处:http://www.cnblogs.com/dingli/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/dingli/p/2263818.html