Архитектура фреймворка
Следующая диаграмма описывает архитектуру Lunatic (нажмите на изображение, чтобы открыть его в полноэкранном режиме):
Существует несколько логических блоков, включая:
- Ядро фреймворка — базовые классы, функции и методы, которые взаимодействуют с API платформы и обеспечивают абстракцию для него.
- Встроенные middleware-функции — прикладной уровень, который подключается к обработке запросов и расширяет возможности фреймворка.
- Утилиты — вспомогательные функции, которые используются во всей кодовой базе фреймворка.
Прикладной уровень взаимодействует с ядром фреймворка через открытые классы
(LunaticServer
и Router
). Он
также может использовать встроенные промежуточные модули или предоставлять свои
собственные.
В отличие от некоторых фреймворков (например, Nest.js), Lunatic не навязывает архитектуру на прикладном уровне. Конечный разработчик сам решает, как реализовать те или иные сценарии использования и какие архитектурные подходы использовать.