tworzę nowy projekt w ASP.NET MVC przy użyciu 4.Najlepsze praktyki dla wstrzykiwania zależności
Chcę konfiguracji wstrzykiwania zależności używając Ninject
. Ale zanim przejdę dalej, jakie są najlepsze praktyki podczas konfigurowania wtyczki zależności?
Obecnie mam konfigurację klasy wiążącej w ramach projektu webowego, która odwołuje się do projektów danych w ramach rozwiązania.
Klasa spoiwo, jak pokazano poniżej:
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>();
}
}
Wtedy w moim kontrolera używam metody GetImplementation używać zależność dokładna wymagać zamiast rejestracji wszystkich przy starcie aplikacji.
Przykład kodu z kontrolerem:
Public ActionResult Get (int id)
{
var repository = Binder.GetImplementation<IDocuments>();
// do some stuff with the repository here
}
Nie wiem, czy byłoby to dobre podejście? Każda rada byłaby dobra.
Trochę kodu byłoby dobre, jak również? – BenjaminPaul
@Wiktors odpowiedź poniżej jest drogą do zrobienia. Użyj wtrysku konstruktora tyle, ile możesz. Używaj tylko wzorca antysubskrypcyjnego SL, jeśli z jakiegoś powodu nie jesteś w stanie skonfigurować pełnego łańcucha zależności. –