Перейти до основного вмісту

Робочий потік застосунку

Як було сказано в ознайомленні з класом застосунку, Ditsmod надає API для написання застосунків з різними архітектурними стилями (REST, tRPC, GraphQL, WebSockets, Microservices і т.д.). Ініціалізація починається зі створення інстансу класу застосунку, і саме на цьому етапі визначається яку конфігурацію приймає клас застосунку, і яка буде послідовність його збірки.

Етапи ініціалізації застосунків з різними архітектурними стилями можуть відрізнятись, але, як правило, відбувається наступне:

  1. Сканування застосунку за допомогою ModuleManager стартує починаючи від кореневого модуля.
  2. Декоратори кореневого модуля, модуля фіч та ініт-декоратори дозволяють закріпляти за класами модулів певні метадані. В процесі сканування застосунку, відбувається нормалізація та валідація цих метаданих.
  3. Потім AppInitializer ці метадані аналізує, збирає провайдери, та запускає розширення.
  4. Завершується ініціалізація застосунку в класі Application, запускається вебсервер, і застосунок почитає працювати в штатному режимі приймаючи HTTP-запити.