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