【问题标题】:Does the term "command" have various meanings depending on the context?术语“命令”是否根据上下文有不同的含义?
【发布时间】:2023-01-09 19:58:24
【问题描述】:
我是一名初级开发人员,苦苦挣扎于软件工程的基础知识。
第一次听到command这个词是在学习GoF设计模式中的command pattern的时候。
但我注意到命令不仅与设计模式有关,而且还与我不熟悉的东西有关。
我找到了带有事件、命令处理程序等词的命令。
这些命令都是一样的?或者我的想法是否正确,命令在不同的上下文中有不同的含义?
我已经用谷歌搜索了大约三天,但没有成功。
你能帮我吗?
【问题讨论】:
标签:
design-patterns
architecture
command
【解决方案1】:
就像这个行业中的大多数术语一样命令也超载了。
设计模式 - 命令
这种设计模式就是将调用者和被调用者松散地耦合在一起。或者通过使用设计模式的术语调用者和接收者。
它是通过将有关请求的所有信息封装到命令对象中来完成的。
事件 - 命令
在事件系统的情况下,我们正在区分命令和事件:
- 前者是可以接受和处理或拒绝的请求
- 后者是关于已处理给定命令这一事实的确认
一个命令可以生成零个、一个或多个事件。
比较
相似
在这两种情况下,命令都代表一个动作请求
区别
区别在于命令的范围
- 事件:它只包含没有任何行为代码的数据
- 设计模式:它还包含知道如何执行给定操作的代码 (
Execute)- 此设计模式有一个变体,它使操作有条件 (
CanExecute)