Обсуждение

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

  • На русском языке

Говоря о чистой архитектуре, Дядя Боб определяет Application Layer как уровень интеракторов, которые реализуют необходимое взаимодействие для выполнения запрошенной операции. Например, интерактор загружает сущность из базы, вызывает бизнес-операцию, меняющую состояние сущности, сохраняет новое состояние обратно в базу и отправляет сообщение в MessageBus. Как правило, этот уровень реализуют в виде набора классов-сервисов, поэтому его также иногда называют Service Layer. 

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

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

Спикеры

Расписание