在C#中封裝Command對象以提高復用性可以通過創建一個通用的接口或抽象類來定義命令的基本結構,然后針對具體的功能實現不同的命令類。這樣就可以在不同的情況下復用相同的命令對象,提高代碼的靈活性和可維護性。
以下是一個簡單的示例代碼,演示如何封裝Command對象以提高復用性:
// Command 接口
public interface ICommand
{
void Execute();
}
// 具體的命令類
public class CommandA : ICommand
{
public void Execute()
{
Console.WriteLine("Command A executed");
}
}
public class CommandB : ICommand
{
public void Execute()
{
Console.WriteLine("Command B executed");
}
}
// 調用命令
public class Invoker
{
private ICommand _command;
public void SetCommand(ICommand command)
{
_command = command;
}
public void ExecuteCommand()
{
_command.Execute();
}
}
// 示例
class Program
{
static void Main()
{
ICommand commandA = new CommandA();
ICommand commandB = new CommandB();
Invoker invoker = new Invoker();
invoker.SetCommand(commandA);
invoker.ExecuteCommand();
invoker.SetCommand(commandB);
invoker.ExecuteCommand();
}
}
通過以上代碼,我們定義了一個通用的接口ICommand
來表示命令對象的結構,然后創建了兩個具體的命令類CommandA
和CommandB
,分別實現了ICommand
接口。最后通過Invoker
類來調用不同的命令對象,實現了命令的復用性和靈活性。這樣可以方便地添加新的命令對象,而不需要修改現有的代碼。