什么是动作设计模式,我以前没有听说过?我怀疑它与Command Design pattern [wikipedia]一样,但我找不到任何资源。什么是动作设计模式?
11
A
回答
12
你说得对,动作模式==命令模式。在GUI设计中,你会听到它更频繁地调用动作模式,形式为“按下某个按钮,执行此操作”。在代码中,按钮将与某种操作对象连接起来。
0
动作设计模式与Command设计模式相同。 Action是一个关键实体,它将自身的信息封装在它的行为中,它的do()方法需要做什么处理,它如何被撤消等等。当应用程序或其任何组件按照Action设计模式进行设计时,应用程序中的Everything活动可以以动作的形式表示,每一件事都可以重做/撤消多次。例如。宏在Excel中,文本编辑器撤销/重做等
Action类,这是这种设计模式的构建块可设计如下: -
public interface Action{
public void do();
public void undo();
public void do(int iNoOfTimes);
}
public class FileCopyAction implements Action{
private int iActionId;
public void do(){}
public void undo(){}
public void do(int iNoOfItems){}
}
希望它能帮助。
1
我现在在MSDN上读“The Action/Executor Pattern”,我不同意Command和Action/Executor模式相同的前提。
从Command Pattern的描述在SourceMaking.com:
- 封装的请求为对象,从而让你参数客户不同的要求,队列或日志请求,并支持可撤销的操作。
- 推进“的方法的调用的对象上的”完整对象状态
- 一种面向对象的回调
从MSDN文章有关动作/执行人图案:
Action/Executor模式确定了将用例映射到代码的策略,从而提高了可视性和敏捷性。此外,它还解决了污染实体和跳过适当使用交易的问题。
的差异似乎是一个“行动”封装一个或多个步骤,即执行时成功委派控制,负责了解如何坚持这些变化到数据库,Web服务或文件存储的另一个对象。该操作与执行/保持的方式分离。
“命令”感觉就像是Action/Executor模式的一半 - “动作”似乎与“命令”同义。 Action/Executor模式让事情更进一步,并描述了另一个担心,他的责任是采取“action”或“command”生成的更改并将其保存在某个位置。
相关问题
- 1. 设计模式 - 这是什么模式?
- 2. 这是什么样的设计模式?
- 3. 什么是“调度员”设计模式?
- 4. 这是什么JS设计模式?
- 5. 这是什么设计模式?
- 6. 什么是鬼魂设计模式?
- 7. 什么是非锁定设计模式?
- 8. 这是什么设计模式?
- 9. 什么是设计模式标题?
- 10. 什么是门面设计模式?
- 11. 这是什么设计模式?
- 12. 什么是四人帮设计模式
- 13. .net中的设计模式是什么?
- 14. 是什么意识到设计模式?
- 15. 这是什么设计模式?
- 16. 这个文件操作设计模式的名称是什么?
- 17. 作业队列的正确mongo模式设计是什么?
- 18. 什么是域驱动的设计模式
- 19. WordPress的模块/插件管理的设计模式是什么?
- 20. 什么是Active Record - 设计模式或模块?
- 21. 开放式购物车中的mvcl设计模式是什么?
- 22. 格式化数字的最佳设计模式是什么?
- 23. “monkeypatching”背后的正式设计模式是什么?
- 24. 什么是使用Selenium PageObject设计模式的最佳方式
- 25. 什么是实现Viewholder设计模式的最佳方式。
- 26. Codeigniter使用什么设计模式?
- 27. 我使用什么设计模式?
- 28. 这里适合什么设计模式?
- 29. CRUD有什么好的设计模式?
- 30. 使用什么样的设计模式?