在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
类来调用不同的命令对象,实现了命令的复用性和灵活性。这样可以方便地添加新的命令对象,而不需要修改现有的代码。