mirror of
https://github.com/crazybber/go-pattern-examples.git
synced 2024-11-22 03:46:03 +03:00
.. | ||
command_test.go | ||
command.go | ||
README.md |
命令模式
命令模式也是一个响应模式,其主要作用是分离命令发出者和命令执行者,两者只要按照命令定义的约束交互,就可以各自变化。
现实生活中的例子也很多,比如,告知店员买XX奶茶,遥控器控制电视,就是命令模式,以及现在AI能力,大部分情况下,也是基于命令识别进行响应的,还有军训的时候,队列根据教官的各种口令进行变化,更多典型的命令模式。
命令模式中中的一个特点是每个命令
都是一个类型(struct)。
命令模式的关键角色:
*接收者(Receiver): 执行请求相关的操作Execute()
*调用者(Invoker): 发出命令的一方
*命令接口(Command)
*具体命令的结构体(Command)