Встречается на 12% собеседований по C#
Что такое IoC-контейнер
IoC-контейнер (Inversion of Control) — это инструмент для управления зависимостями в приложении. Он автоматически создает и внедряет объекты, следуя заданным правилам, вместо того чтобы разработчик делал это вручную.
Основные функции:
- Регистрация зависимостей (типов и их реализаций).
- Разрешение зависимостей (создание объектов с автоматическим внедрением).
- Управление жизненным циклом объектов (Singleton, Transient, Scoped).
Пример с Microsoft.Extensions.DependencyInjection:
csharp
var services = new ServiceCollection();
services.AddTransient<IService, MyService>(); // Регистрация
services.AddSingleton<ILogger, ConsoleLogger>();
var provider = services.BuildServiceProvider(); // Построение контейнера
var service = provider.GetService<IService>(); // Разрешение зависимостиПопулярные контейнеры: Autofac, Ninject, Unity, Simple Injector.
IoC-контейнер упрощает поддержку кода, уменьшает связанность и облегчает тестирование.
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы