3

Eclipse 4 依存性注入のベスト プラクティスを知りたいです。この件についてインターネットで読んだ後、私は次の戦略を思いつきました。

要件

アプリケーションのデータ モデル (会社、従業員、顧客など) を共有して、フレームワーク オブジェクト (ビュー パーツ、ハンドラー、リスナーなど) ができるだけ少ない結合でアクセスできるようにします。

提案された戦略

  • lifeCycleURI プラグイン プロパティを使用して、アプリケーションの起動時にトリガーされるハンドラーを登録しました。このようなハンドラーは、「空の」最上位データ モデル コンテナー オブジェクトを作成し、それを EclipseContext に配置します。アプリケーションが停止した場合も破棄されます。

  • すべての Eclipse フレームワーク クラス (ビュー パーツ、ハンドラー) は、従来の DI を使用して、そのようなデータ モデル オブジェクトを挿入します。

  • クラス コンストラクターで作成されたボタン リスナーには、データ モデル オブジェクトを挿入することはできません。そのため、 ContextInjectionFactory.make() で作成してインジェクションを実行できると思いました。これにより、リスナーを作成するクラスが CIF と結合されますが、大きな利点は、インジェクションがすぐに機能することです。

これは、可能な限り少ない結合で E4 DI を活用するために、私が見つけた最良のソリューションです。私の意見では、この CIF との結合が弱点です。私の質問は、この結合を取り除くための戦略が存在するかどうか、または同じ要件に対する代替ソリューションが存在するかどうかです。

4

1 に答える 1