Использование Lazy<T> с Dependency Injection в .NET
Dependency Injection (DI) — это популярный механизм внедрения зависимостей, который идеально соответствует принципам SOLID (Dependency Inversion Principle). В .NET использование DI (Microsoft.Extensions.DependencyInjection) стало стандартом де-факто.
Однако у DI есть важный недостаток: при создании корневого объекта (например, контроллера) контейнер резолвит всё дерево зависимостей, что плохо для памяти и производительности.
Решение - использование DI с Lazy<T> — ленивая инициализация зависимостей.