2

すべて独立して実行できるだけでなく、同じホスト コンテナー内でも実行できるプラグイン アプリケーションが多数あります。ユーザーは、単一のホスト コンテナーを実行することも、1 つまたは複数のプラグインを使用して複数のホスト コンテナーを実行することもできます。

人々が望む「統合」のユースケースが数多くあります。

  1. あるプラグインから別のプラグインにデータを送信する
  2. 「アクション」または「コマンド」を別のアプリに送信します (場合によってはパラメーター付き)

いくつかのオプションがあります。

  1. すべてのプラグインが認識し、適切に定義されたメッセージまたはオブジェクトを発行およびサブスクライブできる、コンテナー レベルでよく知られたイベント バスを用意する

  2. あるプラグインの dll を別のプラグインに埋め込み、あるプラグインの API を別のプラグインから呼び出す

  3. 共通の統合ポイントを認識する統合プラグインを作成して、個々のプラグインを完全にスタンドアロンにし、統合プラグインだけが統合を認識できるようにします。これにより、余分な依存関係なしに個々のプラグインを出荷できるようになりました。

考えやその他の提案はありますか?

4

3 に答える 3

2

Microsoft が現在開発している新しい Managed Extensibility Framework (MEF) ライブラリを見てみましょう。Codeplex サイトを参照してください。私が正しく理解しているように、VS 2010 もこのフレームワークを使用して、Visual Studio に拡張ポイントを提供します。

于 2009-03-26T15:23:56.590 に答える
1

Smart Client Software Factoryは、考慮すべきもう 1 つのガイダンスです。これは大部分が WinForms であり、おそらく新しい WPF リリース (完全に再構築された) よりも少し複雑です。ただし、モジュラーの目標を達成するためのアイデアも得られます。リンクとドキュメントは、モジュールがどのように分離されているかをカバーするのに適していますが、共通のフレームワークを介してデータを渡すことができます.

于 2009-03-26T14:59:35.397 に答える
0

Microsoft の Patterns and Practices Composite Application Guidance for WPF and Silverlight を検討してください。正確に必要なものでなくても、モジュール間でデータを共有するなど、モジュール性に必要なことのいくつかを達成するためのいくつかの方法を学ぶのは良いパターンです。

于 2009-03-26T14:46:31.340 に答える