Eclipse RCP 上下文中的操作和命令有什么区别?我知道它们都对菜单条目做出了贡献,但哪个更好?为什么?
在我阅读的所有在线资源中,我无法深入了解两者之间的差异。我实际上并没有尝试使用它们,只是想从更高层次的角度了解它们。
谢谢
您是否阅读过 eclipse wiki常见问题解答 命令和操作之间的区别是什么?
您可能已经了解 Actions 和 Commands 基本上做同样的事情:它们会导致执行某段代码。它们主要由用户界面中的人工制品触发
Actions的主要关注点是表现形式和代码都存储在 Action 中。
尽管 Action Delegates 中有一些分离,但它们仍然与底层操作相关联。选择事件被传递给操作,以便它们可以根据当前选择更改其启用状态(以编程方式)。这不是很优雅。此外,要将操作放在某个工作台部件上,您必须使用多个扩展点。命令几乎可以解决所有这些问题。基本思想是命令只是一些要执行的代码的抽象思想。代码的实际处理是由 handlers 完成的。处理程序由工作台的特定状态激活。该状态由平台核心表达式查询。这意味着我们只需要一个全局 Save 命令,该命令的行为会根据当前活动的处理程序而有所不同。
本文详细介绍了差异
行动:
命令涉及更多扩展点,但是:
只是添加到 VonC 的出色答案,如果您的应用程序相对较小,命令可能有点矫枉过正。它们相对更难设置,当您拥有多个视角、编辑器和视图时,它们最闪耀。
对于简单的事情,我会采取行动。
请记住,以后版本的 Eclipse 可能会弃用 Action。我建议您从一开始就使用 Command 。