设计模式学习-命令模式

概念

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

接收者 会有一个函数

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

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

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

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

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

相关推荐
ErizJ12 分钟前
Kubernetes|学习笔记
笔记·学习·kubernetes
rOuN STAT25 分钟前
Golang 构建学习
开发语言·学习·golang
网络工程小王36 分钟前
【LangChain Prompt 完整指南】提示词篇
运维·人工智能·学习
啊哈一半醒39 分钟前
React 核心知识点系统总结:从基础语法到高级 API,一篇文章梳理完整学习路线
javascript·学习·react.js
Resistance丶未来1 小时前
Coding-Interview-University 学习路径实战评测
人工智能·gpt·学习·github·claude·gemini·kimi
ErizJ1 小时前
Docker | 学习笔记
笔记·学习·docker
ErizJ1 小时前
Kafka | 学习笔记
笔记·学习·kafka
GISer_Jing1 小时前
AI原生前端工程化进阶实践:从流式交互架构到端云协同全链路落地
前端·人工智能·后端·学习
东京老树根1 小时前
SAP学习笔记 - BTP CAP开发02 - Assosication,Composition,?$expand=books
笔记·学习
Slow菜鸟10 小时前
AI学习篇(五) | awesome-design-md 使用说明
人工智能·学习