一、策略模式(Strategy)
它定义了一系列的算法,将算法都分别封装起来,并且让它们之间可以相互替换(具有共性,有同一个策略接口),独立于使用它的人来独立变化
二、策略模式UML图
三、代码实现
Strategy类,定义所有支持的算法的公共接口
abstract class Strategy
{
//算法方法
public abstract void AlgorithmInterface();
}
ConcereteStrategy(具体策略),封装了具体的算法或行为,继承于Strategy
//具体算法A
class ConcreteStrategyA : Strategy
{
//算法A实现方法
public override void AlgorithmInterface()
{
Console.WriteLine("算法A实现");
}
}
//具体算法B
class ConcreteStrategyB : Strategy
{
//算法B实现方法
public override void AlgorithmInterface()
{
Console.WriteLine("算法B实现");
}
}
//具体算法C
class ConcreteStrategyC : Strategy
{