Вопросы с тегом «inversion-of-control»

Инверсия управления (IoC) - это абстрактный принцип, описывающий аспект некоторых проектов архитектуры программного обеспечения, в которых поток управления системой инвертируется по сравнению с процедурным программированием.

21
Должна ли инъекция зависимостей происходить за счет инкапсуляции?
Если я правильно понимаю, типичным механизмом внедрения зависимостей является внедрение либо через конструктор класса, либо через публичное свойство (член) класса. Это раскрывает внедряемую зависимость и нарушает принцип инкапсуляции ООП. Правильно ли я определил этот компромисс? Как вы справляетесь с этой проблемой? См. Также мой ответ на мой вопрос ниже.

4
Ioc / DI - Почему я должен ссылаться на все слои / сборки в точке входа приложения?
(В связи с этим вопросом EF4: почему необходимо включить создание прокси, когда включена отложенная загрузка? ). Я новичок в DI, так что терпите меня. Я понимаю, что контейнер отвечает за создание экземпляров всех моих зарегистрированных типов, но для этого ему требуется ссылка на все библиотеки DLL в моем решении и …

5
Как разрешить экземпляр внутри ConfigureServices в ASP.NET Core
Можно ли разрешить экземпляр IOptions<AppSettings>из ConfigureServicesметода в запуске? Обычно вы можете использовать его IServiceProviderдля инициализации экземпляров, но на данном этапе, когда вы регистрируете службы, у вас его нет. public void ConfigureServices(IServiceCollection services) { services.Configure<AppSettings>( configuration.GetConfigurationSection(nameof(AppSettings))); // How can I resolve IOptions<AppSettings> here? }

4
Использование IoC для модульного тестирования
Как можно использовать контейнер IoC для модульного тестирования? Полезно ли управлять макетами в огромном решении (более 50 проектов) с помощью IoC? Есть опыт? Любые библиотеки C #, которые хорошо подходят для использования в модульных тестах?

2
Почему бы не использовать контейнер IoC для разрешения зависимостей для сущностей / бизнес-объектов?
Я понимаю концепцию DI, но я только изучаю, что могут делать разные контейнеры IoC. Кажется, что большинство людей выступает за использование контейнеров IoC для подключения сервисов без сохранения состояния, но как насчет их использования для объектов с сохранением состояния, таких как сущности? Правильно это или нет, я обычно наполняю свои …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.