设计模式学习-命令模式

概念

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

接收者 会有一个函数

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

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

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

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

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

相关推荐
宁风NF20 分钟前
JavaScript:内存、垃圾回收、性能优化
开发语言·前端·javascript·学习·性能优化·es6
编程圈子40 分钟前
电机驱动开发学习22. 霍尔电角度标定(自动/手动标定与Flash固化)
驱动开发·学习
m4Rk_1 小时前
【论文阅读】Agent 记忆机制(26):Infini Memory——将长期记忆维护成可读写的主题文档
论文阅读·人工智能·学习·开源·github
BuHuaX1 小时前
U3D抖微小游戏开发流程 (一)
unity·c#·游戏引擎·游戏策划
梓仁沐白1 小时前
【Agent 设计模式】推理技术
设计模式
Kinghiee1 小时前
从使用场景切入前端常见设计模式
前端·设计模式
正经人_x2 小时前
学习日记46:LISA: Reasoning Segmentation via Large Language Model
人工智能·学习·语言模型
神龙天舞20013 小时前
CMake构建学习笔记-通用的CMake构建脚本
笔记·学习
_ZHOURUI_H_11 小时前
Unity MyFramework 用法说明(二十三):使用 PrefabPoolManager 复用预设实例
unity·游戏引擎·游戏开发·游戏ui·手游开发
似的83511 小时前
一步一步学习使用FireMonkey动画() 使用TAnimator类创建动画
linux·学习·nginx