Перейти к содержимому

ASP.NET Core: Внедрение зависимостей (Dependency Injection) | Transient, Scoped и Singleton + при...

Toolliyo

0:00 / 0:00

ASP.NET Core: Внедрение зависимостей (Dependency Injection) | Transient, Scoped и Singleton + при...

426 просмотров · Трансляция закончилась 1 месяц назад
Toolliyo
429 подписчиков
426 просмотров · Трансляция закончилась 1 месяц назад
Внедрение зависимостей — одна из важнейших концепций в ASP.NET Core, но простого запоминания Transient, Scoped и Singleton недостаточно. В этом практическом курсе по ASP.NET Core 10 / .NET 10 Web API мы разберем внедрение зависимостей с нуля, используя реальные примеры и работающий код на C#. Вместо того чтобы тратить весь урок на теорию, мы создадим новый проект Web API и увидим, как контейнер внедрения зависимостей ASP.NET Core создает и управляет экземплярами сервисов. Мы будем работать с реалистичными сценариями DevStore и рассмотрим концепции, используемые разработчиками в продакшене. В этом видео вы узнаете: Что на самом деле решает внедрение зависимостей Внедрение зависимостей через конструктор в ASP.NET Core 10 Как работает встроенный контейнер DI .NET AddTransient AddScoped AddSingleton Transient против Scoped против Singleton Время жизни сервисов в реальном коде Как проверить время жизни сервисов с помощью Guid Внедрение сервиса в контроллер Внедрение одного сервиса в другой Графы зависимостей Несколько реализаций сервисов IEnumerableT с внедрением зависимостей Регистрация сервисов на основе фабрики Сервисы с ключами AddKeyedScoped Выбор конкретных реализаций с использованием ключей Внедрение зависимостей в реальных сценариях электронной коммерции Внедрение зависимостей с EF Core Почему DbContext обычно имеет область видимости Проблемы зависимостей Singleton → Scoped Зависимость с привязкой к источнику Потокобезопасность с сервисами Singleton IServiceProvider Почему шаблоны локаторов сервисов обычно должны быть Избегайте Распространенные ошибки внедрения зависимостей Невозможность разрешения ошибок сервиса Проектирование внедрения зависимостей в производственной среде Вопросы для собеседования по внедрению зависимостей в ASP.NET Core ЧТО МЫ СОЗДАЕМ Мы создаем практический веб-API на ASP.NET Core 10 и постепенно разрабатываем: ProductsController ↓ IProductService ↓ ProductService ↓ IPricingService ↓ PricingService Затем мы демонстрируем: Transient Scoped Singleton используя фактические идентификаторы экземпляров сервисов, чтобы вы могли увидеть разницу, а не просто запоминать определения. Мы также рассматриваем реалистичные примеры, включающие: Ценообразование продуктов Уведомления Реализация электронной почты/SMS Платежные системы Сервисы с ключами Внедрение зависимостей EF Core ВАЖНАЯ КОНЦЕПЦИЯ ДЛЯ ПРОИЗВОДСТВА Одна из важнейших частей этого курса — понимание того, почему это может быть опасно: Синглтон ↓ Ограниченная область видимости Мы целенаправленно обсуждаем несоответствие времени жизни и как правильно проектировать граф зависимостей. Это также распространенный сценарий собеседований для опытных специалистов по ASP.NET Core. КОМУ СЛЕДУЕТ ПОСМОТРЕТЬ? Это видео полезно для: Начинающих, изучающих ASP.NET Core Разработчиков на C# Разработчиков .NET Разработчиков ASP.NET Core Бэкенд-разработчиков Разработчиков Web API Разработчиков Full Stack .NET Старших разработчиков Инженеров-программистов, готовящихся к собеседованиям по .NET Разработчиков, переходящих с устаревшего .NET на современный ASP.NET Core ИСПОЛЬЗУЕМЫЕ ТЕХНОЛОГИИ C# .NET 10 ASP.NET Core 10 ASP.NET Core Web API Visual Studio 2026 Внедрение зависимостей Entity Framework Core SQL Server Swagger/OpenAPI КУРС ПО DEVSTORE Этот урок является частью курса: ASP.NET Core 10 Web API — от нуля до профессионала В ходе курса мы постепенно создаем DevStore, веб-API для электронной коммерции, готовый к использованию в производственной среде. Мы фокусируемся на практической разработке, а не только на теоретических объяснениях. РАЗДЕЛЫ / ВРЕМЕННЫЕ МЕТКИ 00:00 Мощный хук — почему внедрение зависимостей важно 02:30 Что мы создаём 04:00 Создание нового веб-API для ASP.NET Core 10 07:00 Первый пример внедрения зависимостей 11:00 Внедрение зависимостей через конструктор 14:00 Почему бы не использовать `new` везде? 17:00 Время жизни временных объектов 22:00 Время жизни объектов с ограниченной областью видимости 27:00 Время жизни одиночного объекта 32:00 Временные объекты против объектов с ограниченной областью видимости против одиночных объектов — демонстрация в реальном времени 37:00 Сервисы ценообразования в DevStore в реальных условиях 42:00 Внедрение зависимостей между сервисами 46:00 Множественные реализации с IEnumerableT 50:00 Сервисы с ключами в ASP.NET Core 55:00 Регистрация на основе фабрик 58:00 Проблема одиночного объекта → объекта с ограниченной областью видимости 01:03:00 Внедрение зависимостей с EF Core 01:07:00 Распространенные ошибки внедрения зависимостей 01:12:00 Отладка: Невозможно разрешить зависимость сервиса 01:16:00 Лучшие практики внедрения зависимостей в производственной среде 01:20:00 Вопросы для собеседования по внедрению зависимостей в ASP.NET Core 01:25:00 Практическое задание & Краткий обзор Внедрение зависимостей в ASP.NET Core 10, Внедрение зависимостей в ASP.NET Core, Внедрение зависимостей в .NET 10, Внедрение зависимостей в C#, Внедрение зависимостей в ASP.NET Core, Учебник по внедрению зависи...