我知道如何實現一個命令設計模式如下:實現靜態方法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