Pytania otagowane jako inversion-of-control

Odwrócenie sterowania (IoC) to abstrakcyjna zasada opisująca aspekt niektórych projektów architektury oprogramowania, w których przepływ sterowania w systemie jest odwrócony w porównaniu z programowaniem proceduralnym.

21
Czy zastrzyk zależności musi odbywać się kosztem enkapsulacji?
Jeśli dobrze rozumiem, typowym mechanizmem wstrzykiwania zależności jest wstrzyknięcie albo przez konstruktor klasy, albo przez właściwość publiczną (składową) klasy. To uwidacznia wstrzykiwaną zależność i narusza zasadę hermetyzacji OOP. Czy mam rację w identyfikacji tego kompromisu? Jak radzisz sobie z tym problemem? Zobacz także moją odpowiedź na moje własne pytanie poniżej.

4
Ioc / DI - Dlaczego muszę odwoływać się do wszystkich warstw / zestawów w punkcie wejścia aplikacji?
(W związku z tym pytaniem, EF4: dlaczego tworzenie serwera proxy musi być włączone, gdy jest włączone ładowanie z opóźnieniem? ). Jestem nowy w DI, więc wytrzymaj ze mną. Rozumiem, że kontener jest odpowiedzialny za tworzenie instancji wszystkich moich zarejestrowanych typów, ale w tym celu wymaga odwołania do wszystkich bibliotek DLL …

5
Jak rozwiązać wystąpienie Inside ConfigureServices w ASP.NET Core
Czy można rozwiązać wystąpienie IOptions<AppSettings>z ConfigureServicesmetody w programie Startup? Zwykle możesz użyć IServiceProviderdo zainicjowania instancji, ale nie masz go na tym etapie, gdy rejestrujesz usługi. public void ConfigureServices(IServiceCollection services) { services.Configure<AppSettings>( configuration.GetConfigurationSection(nameof(AppSettings))); // How can I resolve IOptions<AppSettings> here? }


2
Dlaczego nie użyć kontenera IoC do rozwiązywania zależności między jednostkami / obiektami biznesowymi?
Rozumiem koncepcję DI, ale dopiero uczę się, co mogą zrobić różne kontenery IoC. Wygląda na to, że większość ludzi opowiada się za używaniem kontenerów IoC do łączenia usług bezstanowych, ale co z używaniem ich do obiektów stanowych, takich jak encje? Niezależnie od tego, czy jest to dobre, czy złe, zwykle …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.