我现在将关闭这个(我想没有更多的反馈),并试着总结一下我的理解
我正在努力清楚地了解战略模式,并且我问自己,策略取决于上下文是好还是坏.
让我们采取以下经典实现
//The strategy
interface IStrategy
{
void Execute();
}
class ConcreteStrategyA : IStrategy
{
public void Execute()
{
Console.WriteLine( "Called ConcreteStrategyA.Execute()" );
}
}
class ConcreteStrategyB : IStrategy
{
public void Execute()
{
Console.WriteLine( "Called ConcreteStrategyB.Execute()" );
}
}
//The context
class Context
{
IStrategy strategy;
// Constructor
public Context(IStrategy strategy)
{
this.strategy = strategy;
}
public void UpdateContext(IStrategy strategy)
{
this.strategy = strategy;
}
public void Execute()
{
strategy.Execute();
}
}
Run Code Online (Sandbox Code Playgroud)
我见过的所有例子都有非常简单的策略,它们采用基本参数(例如整数).我想知道的是,如果策略使用Context来完成工作,那么是否存在问题.
它会给出类似的东西
//The …Run Code Online (Sandbox Code Playgroud)