概念
命令,接收者,执行者,一个命令模式由这些基本的组件组成。
接收者 会有一个函数
命令有一个持有接收者并且 有一个 执行函数
执行者 持有一个命令 并且 会执行这个命令
csharp
using UnityEngine;
using System.Collections;
namespace CommondStructure{
public class CommandStructre: MonoBehaviour{
Receiver receiver = new Receiver();
ConcreteCommand command = new ConcreteCommand(receiver);
Invoker invoker = new Invoker();
invoker.SetCommand(command);
invoker.InvokeCommand ();
}
abstract class Command{
protected Receiver receiver;
public Command(Receiver receiver){
this.receiver = receiver;
}
public abstract void Execute();
}
public class ConcreteCommand:Command{
public ConcreteCommand(Receiver receiver):base(receiver){}
public override void Execute(){
receiver.Action();
}
}
class Receiver{
public void Action(){
Debug.Log("我被执行了");
}
}
class Invoker{
private Command_command;
public void SetCommond(Command command){
this._command= command;
}
public void InvokeCommand (){
_command.Execute();
}
}
}
主旨:接收者 是存在需要执行的函数,命令只负责进行桥接
执行者 根据命令执行接收到到命令的接收者的方法