zoukankan      html  css  js  c++  java
  • Eclipse Action与Command的区别

    eclipse的action和command都能够执行一段确定的代码。通过一个工具栏上的图标、菜单项都可以触发执行。Action框架已经被验证过了,集成的非常紧密,而且很容易实现。但是为什么要废弃action改成command呢?

    Actions

        Actions主要关注的是表现形式,而且所有代码都在action中。尽管有些代码也分布在action代理中,但是本质上还是action。选择事件传递给action,action根据当前的选择改变状态。这不是一种简洁的办法。同时,想要放置一个action到工作区的某个位置,你需要使用若干个扩展点:

    ·        org.eclipse.ui.viewActions

    ·        org.eclipse.ui.popupMenus

    ·        org.eclipse.ui.editorActions

    Commands

        Command优雅的解决了action的问题。Command的基本思想是它只是抽象的执行代码,实际的代码在handler中。Handler由工作区的确定情形激活。这个情形通过平台核心表达式查询。这意味着,我们只需要全局的Save命令,这个命令根据当前激活的handler决定不同的行为。尽管这个特殊的command被重定向为一个全局的action,但是这仍然需要程序实现而不是声明。向工作区放入一个command只需要用一个扩展点:

    ·      org.eclipse.ui.menus

         除了上面提到的,handler能够被清单文件中一种强大的表达式语法激活。这意味着在RCP应用或者一个流畅运行的工作区中,将会有更少的代码、更多的声明。

        如果你去看看首选项页的General > Keys ,你会找到平台支持的command列表,包括它们所属的上下文(when列)和配置(scheme)。键绑定连接command,command连接到handler。用户可以改变一个command的键绑定而不需要让handler知道,command的handler在不同的环境下也可以动态变化。

    原文地址:http://blog.csdn.net/imu2008/article/details/49852897

  • 相关阅读:
    CG——Grab Cut
    asm2
    preinit_array
    tensorflow aot
    搭建elk
    Linux sed之正则表达式:sed替换字符串时,使用正则表达式的注意事项
    sed:在匹配模式的行首或者行尾插入字符
    logical exclusive 与 physical exclusive 的区别
    logical exclusive 与 physical exclusive 的区别
    ztSpyGlass工具介绍_focus357的博客-程序员宅基地
  • 原文地址:https://www.cnblogs.com/wwssgg/p/14706713.html
Copyright © 2011-2022 走看看