hha*_*fez 11 design-patterns command-pattern
什么是动作设计模式,我之前没有听说过它?我怀疑它与命令设计模式 [维基百科] 相同,但我找不到任何资源.
我正在阅读“动作/执行器模式MSDN 上”,我不得不不同意命令和动作/执行器模式相同的前提。
来自SourceMaking.com 上命令模式的描述:
- 将请求封装为一个对象,从而让您可以将具有不同请求、队列或日志请求的客户端参数化,并支持可撤消的操作。
- 将“对对象的方法调用”提升到完整的对象状态
- 一个面向对象的回调
来自 MSDN 上关于 Action/Executor 模式的文章:
Action/Executor 模式确定了将用例映射到代码的策略,从而实现更好的可见性和敏捷性。此外,它还解决了污染实体和跳过正确使用交易的问题。
区别似乎在于“操作”封装了一个或多个步骤,当成功执行时,将控制委托给另一个负责了解如何将这些更改持久保存到数据库、Web 服务或文件存储的对象。操作与其执行/持久化的方式分离。
“命令”感觉像是动作/执行器模式的一半——“动作”似乎与“命令”同义。Action/Executor 模式更进一步,描述了另一个关注点,它的职责是采取由“操作”或“命令”生成的更改并将它们保存在某个地方。