Стратегії
Стратегії - функціональна група точкового призначення. Якщо проблема може бути вирішена переліком способів - кожний з
цих способів є стратегією. Так можуть бути утворені стратегії авторизації, стратегії оплати, стратегії хмарних сховищ
тощо. Наприклад стратегії авторизації можуть бути представлені стратегії з авторизацією через логін і пароль,
авторизацією через Google тощо.
Використання стратегій можуть мати композиційний або конфігураційний підхід. Так, конфігураційний підхід полягає в виборі одну з можливих стратегій, яка буде в єдиному варіанті використовуватись на всьому протязі програми. Композиційний підхід передбачає надання самої фабрики стратегії, що дозволяє в рамках бізнес-логіки визначати тип стратегії використання.
Конфігураційний підхід застосовується, наприклад під при виборі хмарного сховища, натомість композиційний підхід - при використанні типів авторизацій.
Архітектура
Кожна стратегія має спільну частину та правила створення які винесені в абстрактну стратегію. Кожна кінцева стратегія повинна наслідувати абстрактну стратегію та реалізовувати весь необхідний функціонал. Це дозволяє використовувати стратегію в рамках програми через інтерфейс абстрактного шаблону, знижуючи залежність коду.
Стратегії з поміткою на композиційний / конфігураційний підхід надаються, в подальшому надаються для опису бізнес-схеми через агенти функціональності.
Запуск стратегії поділяється на два етапи - конфігурація та опис самої стратегії, та конфігурації її запуску, яка описується в фабриці відповідних стратегій.
Конфігурація стратегій відбувається шляхом визначення параметрів у конфігураційних файлах. Ці файли завантажуються
сервісом DiscoveryService при запуску ядра обчислень і передаються конкретним стратегіям та фабрикам за потреби.
Стратегії
X-Fiber наразі підтримує слідуючі стратегії:
📄️ Стратегія файлового сховища
📚 Перелік методів та особливості файлових сховищ