VS 2012 でプロジェクトを開始しました。私のソリューションは次の構造を持っています。
1) WCF レイヤーを呼び出す Web インターフェイス (MVC 4)
2) WCF レイヤーがビジネス ロジック レイヤーを呼び出している
3) ビジネス ロジック層がリポジトリ層 (汎用リポジトリ) を呼び出している
4) リポジトリは Data Access Layer と呼ばれます (DAL = EF 5.0)
質問:
DIにNinject(ver3)を使いたい
1) DI を解決するために、各レイヤー/プロジェクト レベルに Ninject を追加する必要がありますか?
バインディングを作成するには、次のコードをどのレイヤーに追加する必要がありますか。次のコードは、バインドのために NinjectWebCommon.cs クラスに入ります。
// 'real' implementations or (Bindings)
kernel.Bind<IRepository>().To<Repository>();
kernel.Bind<IAuthorBLL>().To<AuthorBLL>();
2) ソリューションの各プロジェクト/レイヤーに Ninject を追加し、各 NinjectWebCommon.cs クラスでバインディングを定義する必要がありますか?
または、ビンギングは WCF レイヤーでのみ定義する必要がありますが、WCF プロジェクトの各プロジェクトの参照を追加する必要があります。
または、ビンギングは MVC レイヤーの先頭でのみ定義する必要がありますが、MVC プロジェクトに各プロジェクトの参照を追加する必要があります。
ご意見をお聞かせください。どうもありがとう。
上記のすべてのレイヤーと Ninject を使用したサンプルの作業コードを教えていただければ、それは素晴らしいことです。私は試しましたが、このようなものは見つかりません。