Архитектура системы

В этом разделе описана архитектура TVIP Provisioning Service, включая общую структуру, слои приложения и взаимодействие компонентов.

Обзор

Система построена на принципах Clean Architecture с чётким разделением ответственности между слоями. Это обеспечивает:

  • Независимость бизнес-логики от деталей реализации

  • Лёгкую тестируемость

  • Гибкость при изменении инфраструктуры

  • Понятную структуру кода

Слои архитектуры

Domain Layer (Доменный слой)

Содержит бизнес-логику и правила предметной области. Не зависит от других слоёв.

Application Layer (Прикладной слой)

Содержит use cases — сценарии использования системы. Оркеструет работу доменных объектов.

Infrastructure Layer (Инфраструктурный слой)

Содержит технические детали: БД, DI, внешние сервисы, сериализаторы.

Presentation Layer (Слой представления)

REST API endpoints для взаимодействия с внешним миром.

Диаграмма зависимостей

graph TB P[Presentation Layer<br/>API Endpoints] A[Application Layer<br/>Use Cases] D[Domain Layer<br/>Entities, Repositories] I[Infrastructure Layer<br/>DB, DI, Serializers] P --> A A --> D I --> D P -.-> I A -.-> I style D fill:#90EE90 style A fill:#87CEEB style I fill:#FFB6C1 style P fill:#FFD700