Best practices для разработки Application Layer

Опубликовано: 06 Октябрь 2024
на канале: DotNext — конференция для .NET‑разработчиков
2,402
48

Подробнее о конференции DotNext: https://jrg.su/3WmFRE
— —
Говоря о чистой архитектуре, Дядя Боб определяет Application Layer как уровень интеракторов, которые реализуют необходимое взаимодействие для выполнения запрошенной операции. Например, интерактор загружает сущность из базы, вызывает бизнес-операцию, меняющую состояние сущности, сохраняет новое состояние обратно в базу и отправляет сообщение в MessageBus. Как правило, этот уровень реализуют в виде набора классов-сервисов, поэтому его также иногда называют Service Layer.

Однако в последнее время все большую популярность набирает подход, который Джимми Богард назвал Vertical Slice Architecture. Когда для каждого юзкейса создается отдельный класс-хендлер, а не отдельный метод в ApplicationService. Джимми предлагает библиотеку MediatR, облегчающую реализацию Vertical Slices. MediatR набрал уже 85 млн скачиваний и используется в официальном Miсrosoft-сэмпле eShopOnWeb, который показывает, как разрабатывать современный бэкенд.

Обсудим подход Vertical Slices и библиотеку MediatR: какие у него достоинства и недостатки, а также какие он предоставляет возможности по сравнению с ApplicationServices.

Спикеры: Максим Аршинов, Андрей Парамонов, Андрей Цветцих, Денис Цветцих.