MVC 4 を使用して ASP.net で新しいプロジェクトを作成しています。
を使用して依存性注入をセットアップしたいNinject
。しかし、先に進む前に、依存性注入を設定する際のベスト プラクティスは何ですか?
現在、ソリューション内のデータ プロジェクトを参照する webproject 内にバインダー クラスをセットアップしています。
バインダー クラスは次のとおりです。
Public static class Binder
{
static Ninject.IKernel _kernel;
static Binder()
{
_kernel = new Ninject.StandardKernel();
_kernel.Bind<IConfig>().To<AppSettingsConfig>();
_kernel.Bind<IDocuments>().To<DocumentsClass.Documents>();
}
public static T GetImplementation<T>()
{
return _kernel.Get<T>();
}
}
次に、コントローラー内で、GetImplementation メソッドを使用して、アプリケーションの起動時にすべてを登録するのではなく、正確な依存関係を使用します。
コントローラーのコード例:
Public ActionResult Get (int id)
{
var repository = Binder.GetImplementation<IDocuments>();
// do some stuff with the repository here
}
これが良いアプローチかどうかわかりませんか?どんなアドバイスでもいいです。