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

ADR-0013: Layer Dependencies И Architecture Tests

Статус

Accepted

Контекст

DDD и микросервисные границы не должны держаться только на code review. Нужны автоматические проверки: Domain не знает Infrastructure, Application не знает ASP.NET/EF, сервисы не импортируют друг друга.

Решение

Ввести architecture tests в CI и локальные test suites:

  • dependency rules между layers;
  • запрет forbidden namespaces;
  • запрет service-to-service references;
  • запрет DbContext в controllers;
  • запрет HttpContext в handlers;
  • запрет IQueryable наружу из repositories;
  • проверка feature-slice layout.

Последствия

  • Нарушение архитектуры ломает PR.
  • Исключения допускаются только через ADR с датой пересмотра.
  • Shared building blocks становятся стабильнее.

Ссылки