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

Архитектура фреймворка

Следующая диаграмма описывает архитектуру Lunatic (нажмите на изображение, чтобы открыть его в полноэкранном режиме):

Architecture

Существует несколько логических блоков, включая:

  • Ядро фреймворка — базовые классы, функции и методы, которые взаимодействуют с API платформы и обеспечивают абстракцию для него.
  • Встроенные middleware-функции — прикладной уровень, который подключается к обработке запросов и расширяет возможности фреймворка.
  • Утилиты — вспомогательные функции, которые используются во всей кодовой базе фреймворка.

Прикладной уровень взаимодействует с ядром фреймворка через открытые классы (LunaticServer и Router). Он также может использовать встроенные промежуточные модули или предоставлять свои собственные.

В отличие от некоторых фреймворков (например, Nest.js), Lunatic не навязывает архитектуру на прикладном уровне. Конечный разработчик сам решает, как реализовать те или иные сценарии использования и какие архитектурные подходы использовать.