1

私は NetBeans RCP で数年の経験があります。最も驚くべきことは、Lookup (org.netbeans.lookup) です。これは、NetBeans のモジュール間通信システム全体のアルファとオメガです。今、私は Eclipse RCP プラットフォームで類推を探しています。それはデータバインディングですか?または何?

ジルカさん、アドバイスありがとうございます

ダニールに感謝

議論へ:

  • 静的ルックアップ

はい、「静的」ルックアップについて話す場合。このルックアップ コンテンツは、サービス プロバイダーの実装 (アクション、Windows など) の「インスタンス」です。Eclipse RCP 拡張ポイントとの類推だと思います (ありがとうございます)。

  • アクション グローバル ルックアップ

NetBeans RCP では、すべての TopComponents (View または Editor EClips に類似) に独自の Lookup があります。すべての選択された (ノード) またはプログラムによって追加されたオブジェクトがあります。一部の TC がフォーカスされている場合、このルックアップからのこれらのオブジェクトは actionGlobaCotext にあります。他の TC には、「このクラスの任意のオブジェクトが存在する」ためのリスナーがある場合があります。これは、モジュール間 (UI 内) 通信の目標です。

しかし、Eclipse では: Listeners と IEditorInput に基づいていますか? またはUIでのデータバイディング。

  • ユーザー検索

このビューでは、すべてのオブジェクトが独自のルックアップを持っている可能性がありますMap<Class<T>,List<? extends T>>...これは「Java の複数継承」のベースです。

しかしEclipseでは:わかりません。(もちろん、NB プラットフォームから Eclipse で org.netbeans.lookup を使用できます)

議論をありがとう、ジルカ

4

2 に答える 2

1

ルックアップのユースケースを少し明確にできますか?

これらのケースのほとんどはIAdaptableで処理する必要があるようです。適応可能なオブジェクトを何らかのインターフェース/クラスに「キャスト」する必要がある場合は、「adaptable.getAdapter(MyClass.class)」を呼び出します。オブジェクト自体または拡張ポイントを介して提供されたファクトリは、アダプターを適切なタイプにインスタンス化します (もし可能なら)。このようにして、アクションは選択されたオブジェクト (エディターまたはファイル要素) を何らかのインターフェースに「キャスト」し、そのメソッドを呼び出すことができます。

于 2013-01-02T18:29:27.427 に答える
1

Netbeans RCP ルックアップが何であるかを正しく理解していれば、Eclipse RCP よりも拡張ポイントです

于 2012-12-30T18:12:24.517 に答える