2009-03-26 7 views
2

私たちは、すべて独立して実行できる複数のプラグインアプリケーションを用意していますが、同じホストコンテナ内で実行することもできます。ユーザーは1つのホストコンテナを実行することができます。プラグインの統合に最適なモデル

我々は、人々はどちらか

  1. パラメータを指定して、時には他のアプリに「アクション」または「コマンド」(別の
  2. 送信するために1つのプラグインからのデータを送信する「統合」ユースケースの数を持っています)

我々はオプションのカップルを持っている:

  1. はよくkを持っていますすべてのプラグインが知っていると明確に定義されたメッセージをパブリッシュおよびサブスクライブすることができますか

  2. 埋め込みオブジェクト別に1のDLLをして統合を作成する別の

  3. から1つのプラグインのAPIを呼び出すことをコンテナレベルでnownイベントバス共通の統合ポイントについて知っているプラ​​グインで、個々のプラグインは完全にスタンドアロンであり、統合について知っているのは統合プラグインだけです。これは、無関係の依存関係なしに各個別のプラグインを出荷できることでした。

思考やその他の提案?

+0

さらに詳細がある場合は、これは大きな疑問のように聞こえます。 2つのプラグインがどのように相互作用するかの例をいくつか紹介します。 –

答えて

1

Smart Client Software Factoryは、考慮すべきもう1つの指針です。これは、WinFormsの大部分は、おそらく少し新しいWPFのリリース(それは完全に再設計された)よりも複雑です。しかし、モジュール化された目標を達成するためのアイデアも提供します。リンクとドキュメンテーションは、モジュールがどのように分かれているかをカバーする良い仕事をしますが、共通のフレームワークを通してデータを渡すことができます。

0

マイクロソフトのパターンとプラクティスを検討してくださいComposite Application Guidance for WPF and Silverlight。必要なものではなくても、モジュール間でデータを共有するなど、モジュール性に必要なものをいくつか達成するためのいくつかの方法を学ぶのが良いパターンです。

2

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

関連する問題