溫馨提示×

如何封裝C#中的Command對象以提高復用性

c#
小樊
84
2024-08-20 22:05:31
欄目: 編程語言

在C#中封裝Command對象以提高復用性可以通過創(chuàng)建一個通用的接口或抽象類來定義命令的基本結(jié)構(gòu),然后針對具體的功能實現(xiàn)不同的命令類。這樣就可以在不同的情況下復用相同的命令對象,提高代碼的靈活性和可維護性。

以下是一個簡單的示例代碼,演示如何封裝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");
    }
}

// 調(diào)用命令
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來表示命令對象的結(jié)構(gòu),然后創(chuàng)建了兩個具體的命令類CommandACommandB,分別實現(xiàn)了ICommand接口。最后通過Invoker類來調(diào)用不同的命令對象,實現(xiàn)了命令的復用性和靈活性。這樣可以方便地添加新的命令對象,而不需要修改現(xiàn)有的代碼。

0