Eclipse RCP のコンテキストにおけるアクションとコマンドの違いは何ですか? どちらもメニュー エントリに貢献していることは知っていますが、どちらが優れているのでしょうか。なぜ?
私が読んだすべてのオンライン リソースの中で、両者の違いをしっかりと理解することはできませんでした。私は実際にそれらを使用しようとはしませんでしたが、より高いレベルの観点から始めるためにそれらを理解したかっただけです.
ありがとう
eclipse wiki FAQ を読みましたか? コマンドとアクションの違いは何ですか?
アクションとコマンドが基本的に同じことを行うことはすでにご存じでしょう。特定のコードを実行させます。これらは、主にユーザー インターフェイス内のアーティファクトによってトリガーされます。
Actionに関する主な関心事は、マニフェストとコードがすべて Action に格納されることです。
アクション デリゲートにはいくつかの分離がありますが、依然として基になるアクションに接続されています。選択イベントはアクションに渡されるため、現在の選択に基づいて (プログラムによって) 有効な状態を変更できます。これはあまりエレガントではありません。また、特定のワークベンチ パーツにアクションを配置するには、いくつかの拡張ポイントを使用する必要があります。コマンドは、これらすべての問題をほとんど解決します。基本的な考え方は、コマンドは実行されるコードの抽象的な考え方にすぎないということです。コードの実際の処理は、まあ、 handlers によって行われます。ハンドラーは、ワークベンチの特定の状態によってアクティブ化されます。この状態は、プラットフォーム コア式によって照会されます。これは、現在アクティブなハンドラーに基づいて異なる動作をする 1 つのグローバル Save コマンドのみが必要であることを意味します。
この記事では、違いについて詳しく説明します
アクション:
コマンドにはより多くの拡張ポイントが含まれますが、次の点に注意してください。
VonC の優れた回答に加えて、アプリケーションが比較的小さい場合、コマンドは少し過剰になる可能性があります。それらはセットアップが比較的難しく、複数のパースペクティブ、エディター、およびビューがある場合に最も効果を発揮します。
シンプルなものなら、アクションを使います。
また、アクションはEclipseの新しいバージョンで非推奨になる可能性があることに注意してください。最初からコマンドを使用することをお勧めします。