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

Документи веб-клієнта

інформація

Документи веб-клієнта призначені для опису конкретної предметної області, яка використовується в веб-застосунку. Ці документи мають дворівневу структуру: на першому рівні знаходиться документ точки входу, який відповідає за реєстрацію похідних документів другого рівня. Документи другого рівня є кінцевою реалізацією певного спектра логіки предметної області.

Представлення

X-Fiber пропонує здійснювати побудову контенту веб-сторінок, базуючись на представленнях - готових графічних компонентах, які містять інформацію про конкретну сферу бізнесу. Внутрішня організація цих компонентів відбувається за допомогою інших документів, які відображають бізнес-процеси в межах цієї області або в контексті того ж сервісу.

view-arch.svg

Використання бізнес-логіки

В представленнях, шляхом виклику конкретного функціоналу певного документа через агента бізнес-схеми, який має доступ до всього дерева бізнес-схеми, можна здійснювати такі дії:

  • Створення елементів валідації - завдяки документові "Валідатор".
  • Створення обробників подій - завдяки документові "Слухач".
  • Підтримка інтернаціоналізації - завдяки документові "Словник".
  • Обробка взаємодії з користувачем -- завдяки документові "Контролер".
  • Забезпечення реактивності та оновлення інтерфейсу згідно з змінами у даних - завдяки документові "Сховище".
примітка

X-Fiber допускає документів інших предметних областей при створені графічних інтерфейсів, оскільки бізнес-логіка окремої предметної області зачасту є не незалежною, а скоріше за все похідною або взаємозалежною - рішенням цієї проблеми займається агент бізнес-схеми, який надає доступ до іншої ділянки бізнес-схеми.

Слухачі та контролери

Слухачі та контролери призначені для розробки обробників подій та дій у представленнях. Кожен обробник описує бізнес-логіку, що має бути виконана при їх виклику. Виклик цих обробників здійснюється у представленнях.

Як слухачі, так і контролери, повинні дотримуватися підходу "Композиція" у побудові логіки. Композиція передбачає опис кожного етапу обробника у відповідній функції відповідного документа та послідуючий його виклик у самому обробнику.

controller-arch.svg

порада

Композиція, як підхід у побудові програмного коду, має кілька очевидних переваг. По-перше, вона дозволяє ефективно перевикористовувати код, що спрощує підтримку та оновлення кодової бази. Також вона забезпечує ізоляцію та явний виклик стадій для обробки помилок, що допомагає підтримувати стабільність та надійність програми.

Проте існує й недолік: використання композиції може призвести до збільшення рівня шаблонного коду, оскільки бізнес-логіка розподіляється на окремі функції. Це може призвести до збільшення складності та ускладнити розуміння коду, тому композицію слід створювати, коли стадій роботи обробника стає більше 2.

Картограф

Картографи відповідають за ізоляцію та обробку даних, що є важливою складовою документації. При запиті на отримання даних може виникнути необхідність в ряді послідовних дій, таких як перевірка їх доступності у localStorage. У випадку наявності даних в localStorage, вони повертаються, а в іншому випадку виконується виклик методу REST API для отримання даних, їх перевірка на правильність і подальше повернення як результат.

Сховище

Сховище призначення для управління станом:

  • Управління станом предметної області - дозволяє легко створювати та оновлювати стан додатку, який може бути доступний в відповідних представленнях предметної області.
  • Реактивність - використання сховищ в представленнях дозволяє автоматично перерендерювати компоненти, якщо стан змінюється, що спрощує реакцію на зміни стану.
  • Ізоляція стану - дозволяє інкапсулювати стан та його логіку в межах предметної області, що полегшує організацію та розуміння коду.
інформація

Використання стану наряду з використання localStorage, sessionStorage, а також indexDB надає можливості гнучкої роботи з даними.