Aある意味でプラグインを使用するクラス(静的クラスではない)があるとしましょう。MEFを使用してこれらのプラグインを管理し、ユーザーがパーツカタログを追加するためのメソッドを追加します。使用例:
var myA = new A();
myA.LoadPlugins(new DirectoryCatalog("path/to/plugins"));
myA.DoStuffWithPlugins();
Aクラスと同じ名前空間B。Bまた、MEFを使用してプラグインを管理し、独自のを持っていCompositionContainerます。ユーザーがのプラグインを操作したい場合は、のプラグイン管理メソッドBを使用する必要があります。B
B上記のように使用されAます。
私の質問は、これは悪いですか?名前空間にプラグインをロードするための2つの別々の場所があることに注意する必要がありますか?それが悪い場合、代替案は何ですか?