8

私は最近、IoCコンテナとしてAutofacでDependency Injectionパターンを使用しました。C#クラスライブラリプロジェクト依存関係注入ブートストラップ

通常、コアアプリケーション(Winform、WCF、WPFなど)内で使用します。

現在、私はピア開発者のためのフレームワークとしてクラスライブラリプロジェクトを作成することを学んでいます。私は単体テストを可能にするのでDIパターンに固執する傾向があります。

エントリポイントのないクラスライブラリプロジェクトでIoCコンテナを設定するにはどうすればよいですか?

は、私はちょうどのようなものにする必要があります。

public static void ConfigureLibrary() { 
    //.. Do bootstraping here 
} 

をコアアプリが起動したときにコアアプリケーションは、それを呼び出すようにしましょうか?

ライブラリーはどのようにパターンが好きでしたか&プラクティスエンタープライズライブラリーまたはSpring.Netが構成されていますか?

+0

関連:http://stackoverflow.com/questions/1831455/what-are-the-best-practices-for-class-libraries-using-dependency-injection-for-i – Steven

+0

関連:http:// stackoverflow .com/questions/2045904/dependency-inject-di-friendly-library – Steven

+0

必須読込:http://blog.ploeh.dk/2014/05/19/di-friendly-library/ – Steven

答えて

8

どのパターンのようなライブラリ&プラクティスエンタープライズライブラリまたは Spring.Netが設定されたのですか?

ここには、被験者のChris Tavaresのan interesting articleがあります。

+0

本当に面白いです..初心者であることを私が納得させてくれたことから、EntLibのような図書館でさえ、依然としてユーザーが設定する必要がありますファサードを使用している場合でも、設定は 'InitializeMyClassLibrary()'と同じくらい簡単です。それは事実ですか? –

+0

AFAIKはそうではありません。 EntLibにはデフォルト設定がそのまま使用できます。デフォルトのファサードがあるはずです。 – Steven

+0

あなたは静的エントリポイントの何かのような意味ですか? –

0

エントリポイントのないクラスライブラリプロジェクトでIoCコンテナを設定するにはどうすればよいですか?

通常、アプリケーションはサービス登録のルートにする必要があります。しかし、はい、ライブラリにデフォルト登録を提供するかもしれません。 Hereは、私と私のチームが現在どのようにしているかを数日前にしたブログ投稿です。

関連する問題