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

Стратегії

інформація

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

інформація

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

Конфігураційний підхід застосовується, наприклад під при виборі хмарного сховища, натомість композиційний підхід - при використанні типів авторизацій.

Архітектура

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

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

strategy-arch.svg

інформація

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

примітка

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

Стратегії

X-Fiber наразі підтримує слідуючі стратегії: