设计模式学习-命令模式

概念

命令,接收者,执行者,一个命令模式由这些基本的组件组成。

接收者 会有一个函数

命令有一个持有接收者并且 有一个 执行函数

执行者 持有一个命令 并且 会执行这个命令

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();
	}
}
}

主旨:接收者 是存在需要执行的函数,命令只负责进行桥接

执行者 根据命令执行接收到到命令的接收者的方法

相关推荐
科技林总几秒前
【系统分析师】3.3 输入输出系统
学习
进阶小白猿10 分钟前
Java技术八股学习Day17
java·jvm·学习
whale fall13 分钟前
【雅思听力语料库5.1】
笔记·学习
极客柒29 分钟前
Unity 大地图高性能砍树顶点动画Shader
unity·游戏引擎
老蒋每日coding1 小时前
AI智能体设计模式系列(一)—— 提示词链
设计模式·ai编程
半夏知半秋1 小时前
kcp学习-skynet中的kcp绑定
开发语言·笔记·后端·学习
专注于大数据技术栈1 小时前
java学习--HashSet
java·学习·哈希算法
木木木一2 小时前
Rust学习记录--C11 编写自动化测试
java·学习·rust
IT=>小脑虎3 小时前
鸿蒙开发零基础小白学习知识点【基础版·详细版】
学习·华为·harmonyos