Есть ли способ применить интерфейс к классу из внутренней зависимости в луковой архитектуре? - PullRequest
1 голос
/ 29 мая 2019

У меня есть проект .NET Core, который имеет следующие уровни в луковой архитектуре (от внутреннего до внешнего уровня):

  • Домен (только для бизнес-логики - сущности, объекты-значения, события и исключения)
  • Приложение (переводит входные и выходные данные между API / Постоянством / Инфраструктурой и Доменом, чтобы сервисы / репозитории / обработчики и т. Д. Шли бы сюда)
  • API / Постоянство / Инфраструктура (внешние проблемы)

Зависимости смотрят только внутрь: API/Persistence/Infrastructure > Application > Domain

Однако я хочу использовать Mediatr для обработки уведомлений о событиях в домене.

События домена будут передаваться на уровне домена, но Mediatr требуются события для реализации интерфейса INotification.

Я бы хотел, чтобы в идеале не зависели зависимости Mediatr от уровня домена, так как он ощущается как проблема уровня приложения.

Можно ли определить событие домена на уровне домена и каким-то образом заставить его реализовать интерфейс INotification на уровне приложений?

Или зависимость от Mediatr действительно не так уж и плоха на уровне домена, если она будет использоваться для реализации единого интерфейса? Я в порядке с практичностью, но я просто хотел проверить, есть ли способ избежать этого, о котором я просто не замечал.

...