命令(Command)模式 行为型模式
更新: 2023-05-24 11:11:27 字数: 0 字 时长: 0 分钟
将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。
c#
// 命令模式示例
using System;
// 定义一个命令接口,包含一个执行方法
public interface ICommand
{
void Execute();
}
// 定义一个具体命令类,实现ICommand接口
public class ConcreteCommand : ICommand
{
private Receiver receiver;
public ConcreteCommand(Receiver receiver)
{
this.receiver = receiver;
}
public void Execute()
{
receiver.Action();
}
}
// 定义一个接收者类,包含一个具体的操作方法
public class Receiver
{
public void Action()
{
Console.WriteLine("执行操作");
}
}
// 定义一个调用者类,包含一个命令对象
public class Invoker
{
private ICommand command;
public void SetCommand(ICommand command)
{
this.command = command;
}
public void ExecuteCommand()
{
command.Execute();
}
}
class Program
{
static void Main(string[] args)
{
// 创建一个接收者对象
Receiver receiver = new Receiver();
// 创建一个具体命令对象,将接收者对象传入
ConcreteCommand command = new ConcreteCommand(receiver);
// 创建一个调用者对象,将具体命令对象传入
Invoker invoker = new Invoker();
invoker.SetCommand(command);
// 执行命令
invoker.ExecuteCommand();
Console.ReadKey();
}
}