意图:
定义了算法家族,分别封装起来让它们之间可以互相替换,此模式让算法的变化不会影响
到使用算法的客户。
结构:
代码:
abstract class Strategy{
public abstract void Algorithm
}
class ConcreteStrategyA: Strategy{
public override void AlgorithmInterface(){ Console.WriteLine("算法A 实现");}
}
class ConcreteStrategyB: Strategy{
public override void AlgorithmInterface(){ Console.WriteLine("算法B 实现");}
}
class ConcreteStrategyC: Strategy{
public override void AlgorithmInterface(){ Console.WriteLine("算法C 实现");}
}
//Context 用一个ConcreteStrategy来配置,维护一个Strategy对象的