Трёхслойная архитектура
Трёхслойная архитектура (она же чистая) предполагает разделение кода приложения на «слои» с чётко разграниченными обязанностями.
Трёхслойная архитектура подразумевает разделение кода на 3 слоя:
- домен;
- прикладной слой;
- слой адаптеров и портов.
В доменном слое находятся код и данные из предметной области приложения. Код доменного слоя — это самое важное, что отличает одно приложение от другого. Иногда доменный слой (или просто домен) ещё называют бизнес-логикой.
Вокруг домена находится прикладной слой. Он содержит код сценариев и юзкейсов приложения.
Обычно это обработчики команд, которые выполняют пользовательский сценарий. Ещё слой содержит интерфейсы портов и адаптеров.
Важно отметить, что прикладной слой никогда не вызывает внешние сервисы напрямую. Также он не содержит кода портов и адаптеров, а только их интерфейсы — то есть прикладной слой диктует спецификации, контракты, по которым с нашим приложением должны работать внешние сервисы.
Реализация этих интерфейсов находится в наружном слое — слое портов и адаптеров. Порт — это спецификация, как сторонний сервис может общаться с нашим приложением, или как наше приложение хочет, чтобы с ним общались сторонние сервисы.
👉 @seniorFront