当前位置: 首页 > wzjs >正文

毕业设计做网站答辩系统推广公司

毕业设计做网站答辩,系统推广公司,网站 昆明,珠宝类网站建设可执行报告命令模式是一种行为设计模式,它将请求封装成一个对象,从而允许你使用不同的请求、队列或日志来参数化其他对象,同时支持请求的撤销与恢复。 优点: 1.解耦调用者与接收者​​:输入处理无需直接调用角色方法 2.支持撤销…

命令模式是一种行为设计模式,它将请求封装成一个对象,从而允许你使用不同的请求、队列或日志来参数化其他对象,同时支持请求的撤销与恢复。

优点:

1.解耦调用者与接收者​​:输入处理无需直接调用角色方法
2.支持撤销和恢复:通过实现撤销命令,可以方便地实现操作的撤销和恢复功能。
​​3.扩展性强​​:新增命令不影响现有代码

缺点:

1.​​类数量膨胀​:使用命令模式时,每一个具体的操作都需要创建一个具体的命令类。如果系统中有大量不同的操作,那么就会产生大量的命令类。
优化:1.使用​​泛型命令基类​​   2.通过委托/Lambda​​ 简化简单命令
2.​​内存占用高​:为了支持撤销和恢复操作,需要保存大量的命令对象,这会占用大量的内存空间。
优化:1.实现​​命令对象池​​     2.使用 ​​结构体命令​​(适用于简单场景)
3.​​撤销实现复杂​:
优化:1.快照模式保存状态   2.增量式撤销(仅记录状态变化)

说明例子:

1.UML类图:

2.实现:

1.定义接收者:

public class Receiver1
{public void Action(string Command){Debug.Log("Receiver1.Action: Command['+Command+']");}
}public class Receiver2
{public void Action(int Param){Debug.Log("Receiver2.Action: Param['+Param.ToString()+']");}
}

2.定义命令基类:

public abstract class Command
{public abstract void Execute();
}

3.定义具体命令类:

public class ConcreteCommad1 : Command
{Receiver1 m_Receiver1 = null;string m_Command = "";public ConcreteCommad1(Receiver1 receiver1,string command){this.m_Receiver1 = receiver1;this.m_Command = command;}public override void Execute(){this.m_Receiver1.Action(m_Command);}
}

 4.定义调用者:

public class Invoker
{List<Command> m_Commands = new List<Command>();//加入命令public void AddCommand(Command theCommand){this.m_Commands.Add(theCommand);}//执行命令public void ExecuteCommand(){//执行foreach (var commandItem in m_Commands){commandItem.Execute();}//清空m_Commands.Clear();}
}

5.测试类: 


public class CommandPattern : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){Invoker invoker = new Invoker();//将命令与执行结合Command theCommand = null;theCommand = new ConcreteCommad1(new Receiver1(),"Hello");invoker.AddCommand(theCommand);theCommand = new ConcreteCommand2(new Receiver2(),99999);invoker.AddCommand(theCommand);//执行invoker.ExecuteCommand();}
}

游戏中使用场景:

​​1.输入处理​​:将玩家操作(移动、攻击)封装为命令,支持不同设备输入映射。
​​2.技能/技能系统​​:实现技能释放、取消和连招组合。
​​3.撤销/重做系统​​:支持玩家撤销建造操作或技能释放。
4.​​AI指令队列​​:管理AI行为的顺序执行(巡逻→攻击→撤退),将AI节点行为封装为可回放的命令序列。
5.​​网络同步​​:将玩家操作序列化为命令对象进行网络传输。

总结:

在游戏开发中,命令模式特别适合需要灵活控制操作执行流程的场景​​,如技能系统、输入处理和AI指令管理。通过合理优化,可在保证灵活性的同时兼顾性能。

参考书籍:

《Hands-On Game Development Patterns with Unity 2019》

《设计模式与游戏完美开发》

http://www.dtcms.com/wzjs/487855.html

相关文章:

  • 在线做视频的网站黄冈黄页88网黄冈房产估价
  • 海外网站域名网站推广优化是什么意思
  • 做电子请帖的网站百度网站首页网址
  • 网站建设检查建设网站的步骤
  • 空间设计说明微信搜索seo优化
  • 邹城网站建设内部优化
  • 深圳做网站哪个公司最好第三方平台推广
  • 怎么制作做网站疫情最新数据
  • 黄冈网站建设哪家快些站长之家查询
  • 上海做网站公司百度百家自媒体平台注册
  • 手机游戏app开发公司google关键词优化排名
  • 怎样用zblog做网站北京seo方法
  • 网站开发与维护是干什么的麒麟seo
  • 哈尔滨做设计和网站的公司吗网络推广优化工具
  • 做家具厂招聘有哪些网站营销是什么意思
  • 在上阿里云做网站中国域名注册官网
  • 视频号运营基础课程怎么学seo基础
  • wordpress直接注册seo客服
  • 朔州市政府门户网站谷歌搜索广告
  • 微网站和微信公共平台的区别上海百度推广排名
  • 在政府网站建设工作会上的讲话网络查询网站
  • wordpress 扫描工具兰州网络推广优化服务
  • 东莞网站建设招聘游戏代理平台一天结一次
  • 自己做的小网站如何发布子域名查询工具
  • 日本网页设计网站b站免费推广app大全
  • 庆云县建设局网站网站运营是做什么的
  • 国家建设工程质量检查标准网站友情链接出售网
  • 三合一网站建设口碑好网店运营公司
  • 网站建设设计公司 知乎百度推广营销中心
  • 大连建设学院网站百度知道登录