我知道如何实现一个命令设计模式如下:实现静态方法C#中的命令设计模式
public abstract class Command
{
public abstract void Execute(string someString);
}
说我继承了这一点,作为一个例子:
public class ConnectionCommand : Command
{
public override void Execute(string connectionString)
{
...do some stuff here...;
}
}
问题是使用此ConnectionCommand我需要首先实例化一个对象,但这些命令是上下文无关的,所以我宁愿不必实例化任何内容来运行ConnectionCommand的Execute方法。 (参见ConnectionCommand.Execute()将从事件中,在委托中运行)。
我将如何重新创建这种设计模式,但允许静态调用方法?
这里“上下文无关”是什么意思? –
它们不需要特定的实例信息来执行。他们只是从其他任何班级被调用,他们做了一些事情,而不需要知道任何关于他们的班级。就像可能使用静态方法一样。 –
看来你在这里有一个抽象的抽象:你的抽象类有一个'string connectionString'参数,这意味着某种连接命令已经存在。 – Philippe