2つの主要コンポーネントと他のDLLを備えたアプリケーションがあります。
- コアDLL(すべてのコア機能を取得)
- GUI
- DIなどを必要とするサードパーティおよび完全に独立したDLL。
現在、プラグインのサポートを実装しています。
これらのプラグインのロードを担当するDLLはどれですか?GUIまたはコアDLL?
私はMEFを使用しているので、どこに貼り付けるかよくわかりません。
2つの主要コンポーネントと他のDLLを備えたアプリケーションがあります。
現在、プラグインのサポートを実装しています。
これらのプラグインのロードを担当するDLLはどれですか?GUIまたはコアDLL?
私はMEFを使用しているので、どこに貼り付けるかよくわかりません。
答えは、パーツ (MEF 用語を使用) がアプリケーション内でどのように使用されているかによって異なると思います。部品がどこでどのように活用されているかに応じて、コンテナを作成して充填します。
例:
GUI のビューを含むパーツを作成している場合、アプリケーションの GUI レイヤーがそれらを読み込み、コンテナーを管理すると思います。
クライアント アプリ プラグイン用に構築したアプリケーション フレームワークがあり、その中にアプリケーションのパーツをロードする静的アプリケーション マネージャー クラスがありますが、コア ロジックで使用されるコンテナーにもパーツをロードします。2 つの意図は完全に異なります。それらの一部は、後で簡単に交換できるようにしたかったコア コンセプトであり、一部は、ドロップインしてアプリで使用できるようになったときにクライアント機能を拡張する UI プラグインです。
また、これらはさまざまなアプローチを使用してロードされます...コアは起動時に特定のルールを使用してのみ実行され、もう一方はディレクトリ (プラグイン) からすべてをロードします。
プラグインになるのはおそらくビジネスロジックなので、コアDLLだと思います。