Всем привет!
Заболел на 10 дней и пока поставил на паузу работу с видео🤪
Dependency Injection (DI) в ASP.NET Core: что, как и зачем?
DI (Dependency Injection) — это встроенный механизм ASP.NET Core для управления зависимостями в приложении. Он позволяет легко связывать классы и сервисы без жёсткого связывания, упрощая тестирование и поддержку кода.
Популярные контейнеры IoC
В ASP.NET Core по умолчанию используется встроенный контейнер DI, но можно заменить его на сторонний, если нужна большая гибкость:
✅ Autofac — мощный контейнер с поддержкой модульной загрузки.
✅ Scrutor — расширяет стандартный DI, добавляя удобный автоматический сканинг сервисов.
✅ LightInject — лёгкий и быстрый контейнер.
✅ SimpleInjector — заточен под высокую производительность.
Как внедрять зависимости?
В ASP.NET Core используется метод
Есть три основных способа внедрения зависимостей:
✔️ Через конструктор (рекомендуемый способ)
✔️ Через параметры метода (Controller action injection)
✔️ Через `IServiceProvider` (нежелательно, но возможно)
Жизненный цикл зависимостей
Каждый сервис может быть зарегистрирован с разным временем жизни:
- Singleton – создаётся один раз на всё время работы приложения.
- Scoped – создаётся один раз на HTTP-запрос (подходит для работы с БД).
- Transient – создаётся каждый раз при запросе зависимости.
Что такое Scope и когда он нужен?
Scope — это область действия зависимостей с жизненным циклом Scoped. Например, при обработке HTTP-запроса создаётся новый Scope, внутри которого доступны Scoped-зависимости. Это удобно для работы с DbContext в Entity Framework, чтобы избежать конфликтов при одновременных запросах.
💡 Использование DI помогает писать гибкий, тестируемый и поддерживаемый код. Если хотите разобраться глубже в ASP.NET Core и прокачаться в .NET — обращайтесь за менторством.
👉 Подробнее про менторство:
Тык сюда
#dotnet #aspnetcore #dependencyinjection #программирование #менторство
Заболел на 10 дней и пока поставил на паузу работу с видео
Dependency Injection (DI) в ASP.NET Core: что, как и зачем?
DI (Dependency Injection) — это встроенный механизм ASP.NET Core для управления зависимостями в приложении. Он позволяет легко связывать классы и сервисы без жёсткого связывания, упрощая тестирование и поддержку кода.
Популярные контейнеры IoC
В ASP.NET Core по умолчанию используется встроенный контейнер DI, но можно заменить его на сторонний, если нужна большая гибкость:
✅ Autofac — мощный контейнер с поддержкой модульной загрузки.
✅ Scrutor — расширяет стандартный DI, добавляя удобный автоматический сканинг сервисов.
✅ LightInject — лёгкий и быстрый контейнер.
✅ SimpleInjector — заточен под высокую производительность.
Как внедрять зависимости?
В ASP.NET Core используется метод
ConfigureServices
в Program.cs
: builder.Services.AddSingleton<IMyService, MyService>();
Есть три основных способа внедрения зависимостей:
✔️ Через конструктор (рекомендуемый способ)
✔️ Через параметры метода (Controller action injection)
✔️ Через `IServiceProvider` (нежелательно, но возможно)
Жизненный цикл зависимостей
Каждый сервис может быть зарегистрирован с разным временем жизни:
- Singleton – создаётся один раз на всё время работы приложения.
- Scoped – создаётся один раз на HTTP-запрос (подходит для работы с БД).
- Transient – создаётся каждый раз при запросе зависимости.
Что такое Scope и когда он нужен?
Scope — это область действия зависимостей с жизненным циклом Scoped. Например, при обработке HTTP-запроса создаётся новый Scope, внутри которого доступны Scoped-зависимости. Это удобно для работы с DbContext в Entity Framework, чтобы избежать конфликтов при одновременных запросах.
💡 Использование DI помогает писать гибкий, тестируемый и поддерживаемый код. Если хотите разобраться глубже в ASP.NET Core и прокачаться в .NET — обращайтесь за менторством.
👉 Подробнее про менторство:
Тык сюда
#dotnet #aspnetcore #dependencyinjection #программирование #менторство
Please open Telegram to view this post
VIEW IN TELEGRAM
Teletype
🌟 Премиум Менторинг по .NET/C#
👋 Привет! Меня зовут Павел Кононенко.
🔥6