Система слоёв в интерфейсе программирования работает на основе принципа разделения задач. 13 Программное обеспечение разделяется на уровни, каждый из которых выполняет определённую роль. 13
Некоторые примеры слоёв и их функции:
- Слой пользовательского интерфейса. 2 Его задача — предоставлять эргономичный интерфейс пользователю. 2 При этом слой должен знать, каким образом он взаимодействует со слоем, находящимся на уровень ниже, как он передаёт туда данные и как он их оттуда принимает для отображения. 2
- Слой бизнес-логики. 2 Здесь описываются сущности и основная логика работы приложения (основные алгоритмы работы, вычисления, обработка и т. д.). 2
- Слой доступа к данным. 2 Здесь описана логика, направленная на взаимодействие с источником и передачу полученных результатов на уровень выше. 2
- Слой инфраструктуры. 5 Это внешний слой, через который происходит всё взаимодействие приложения со внешним миром. 5 В нём располагается весь код, работающий со внешними зависимостями приложения, такими как базы данных, сторонние сервисы, контроллеры API и другие. 5
- Слой логики предметной области. 5 Содержит исключительно логику, связанную с выполнением требований предметной области. 5 Тут находятся все сущности, корни агрегации, объекты, описывающие их состояния и другие вспомогательные объекты. 5
Каждый слой работает только с логикой, относящейся к этому слою. 3 Например, компоненты в слое представления имеют дело только с логикой представления, а компоненты, расположенные в бизнес-слое — только с бизнес-логикой. 3