我是一个新手,并试图理解继承和设计模式的概念.
当我浏览一些博客时,我遇到了这种模式http://en.wikipedia.org/wiki/Strategy_pattern.
我发现它很有趣,想要了解更多.所以我开发了以下程序.
static void Main(string[] args)
{
Context context;
// Three contexts following different strategies
context = new Context(new ConcreteStrategyAdd());
int resultA = context.executeStrategy(3, 4);
context = new Context(new ConcreteStrategySubtract());
int resultB = context.executeStrategy(3, 4);
context = new Context(new ConcreteStrategyMultiply());
int resultC = context.executeStrategy(3, 4);
Console.Read();
}
abstract class Strategy
{
public abstract int execute(int a, int b);
public void Test()
{
Console.Write("tttt");
}
}
class ConcreteStrategyAdd : Strategy
{
public override int execute(int a, int b) …Run Code Online (Sandbox Code Playgroud)