Unity设计模式—命令模式(附代码)

Unity设计模式—命令模式(附代码)

命令模式是什么

命令模式是回调函数的面向对象替代品。它将一个请求封装成一个对象,从而让你可以用不同的请求对客户进行参数化,对请求排队或者记录请求日志以支持可以撤销的操作。

具体不展开,本篇主旨是在Unity中实现与演示命令模式,有关命令模式的详细介绍可以看Refactoring.Guru,肯定比我讲得好。

什么时候用

  • 如果你需要通过操作来参数化对象, 可使用命令模式。
  • 如果你想要将操作放入队列中、 操作的执行或者远程执行操作, 可使用命令模式。
  • 如果你想要实现操作回滚功能, 可使用命令模式。

如:

  • 制作Replay系统
  • 建立撤销和重做系统
  • AI命令流
  • 一组操作组合成宏命令

命令模式优缺点

优点

  • 把请求发送者和请求接收者进行了解耦,发送者和接收者之间不交互。
  • 可以方便的设计命令队列或组合命令。
  • 为Undo和Redo提供了一种设计与实现。

缺点

  • 具体命令类有点多,如果没有编辑器和语言的强力支持(如你是用Lua开发),引入命令模式维护成本比较高

结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NickPansh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值