Чистая Архитектура С .NET 6 И CQRS - Настройка Проекта

YOUTUBE · 25.11.2025 06:05

Ключевые темы и таймкоды

Введение в чистую архитектуру

0:00
  • Чистая архитектура состоит из четырех слоев: уровень предметной области, прикладной уровень, инфраструктура и уровень представления.
  • Уровень предметной области содержит доменные сущности, агрегаты, объекты значений и события домена.
  • Прикладной уровень управляет уровнем предметной области и определяет бизнес-логику.

Уровень домена

0:53
  • Уровень домена определяет доменные сущности, агрегаты, объекты значений, события домена и пользовательские исключения.
  • Уровень домена не может ссылаться на внешние уровни, в отличие от прикладного уровня.

Уровень приложения

1:51
  • Уровень приложения организует систему и определяет варианты использования.
  • Реализуется в виде прикладных сервисов или команд и запросов при использовании шаблона CQRS.

Уровень инфраструктуры

2:03
  • Уровень инфраструктуры отвечает за внешние системы, такие как базы данных, очереди сообщений и службы электронной почты.
  • Скрывает детали реализации для внешних систем.

Уровень представления

2:51
  • Уровень представления определяет точку входа для внешних пользователей.
  • Реализуется в виде RESTful API или современных технологий, таких как gRPC.

Реализация чистой архитектуры

3:03
  • В Visual Studio есть четыре проекта, соответствующие уровням чистой архитектуры.
  • Уровень домена содержит сущности, пользовательские исключения и интерфейсы для репозитория и единицы работы.

Прикладной уровень

4:41
  • Прикладной уровень использует шаблон CQRS для разделения ответственности между командами и запросами.
  • Определены команды и запросы для управления вебинарами.

Уровень инфраструктуры

6:41
  • Уровень инфраструктуры включает контекст базы данных и реализацию репозитория.
  • Разделен на уровень сохранения для работы с базой данных и уровень инфраструктуры для внешних систем.

Уровень представления

8:28
  • Уровень представления содержит контроллеры вне веб-приложения для поддержки внедрения зависимостей.
  • Контроллеры обрабатывают конечные точки для участия в вебинарах и создания новых вебинаров.

Внедрение зависимостей и контроллеры

10:06
  • Внедрение зависимостей позволяет использовать контекст базы данных в конечных точках.
  • Перемещение контроллеров в библиотеку классов презентаций улучшает контроль над архитектурой.
  • Конфигурация контроллеров вне веб-приложения требует настройки в файле запуска.

Настройка контроллеров

10:58
  • В файле запуска назначается сборка представления для контроллеров.
  • Вызывается метод addApplicationPart для добавления презентационной сборки.
  • Веб-приложение может выбирать контроллеры и настраивать маршрутизацию.

Обработка исключений

11:57
  • В папке с промежуточным программным обеспечением определяется класс для обработки исключений.
  • Класс завершает выполнение приложения блоком try-catch, регистрирует ошибку и возвращает ответ.
  • Рекомендуется использовать ответ с подробной информацией о проблеме для стандартизированного подхода.

Заключение и анонс

11:57
  • Обзор настроек проекта для чистой архитектуры.
  • Анонс будущих видео о внедрении чистой архитектуры, начиная с уровня домена.
  • Призыв к подписке на канал и оставление комментариев о предыдущем опыте использования чистой архитектуры.