Шлюз (шаблон проєктування)
Шлюз (англ. Gateway) — шаблон проєктування, який інкапсулює доступ до зовнішнього ресурсу. ОписЧасто при взаємодії із зовнішніми ресурсами використовується API. Але будь-який API написаний таким чином, що розкриває структуру самого ресурсу, будь то SQL до реляційних баз даних, або ж JSON чи XAML, тощо. Змішуючи різні API програмний код стає заплутанішим та важче піддається змінам. У широкому розумінні шлюз є об'єктом, що приховує різноманітні API та уніфіковує доступ до ресурсів. ![]() API GatewayЦей шаблон не без причин набув великої популярності при реалізації мікросервісної архітектури. При наявності декількох сервісів клієнту необхідно взаємодіяти із ними усіма. Конфігурація клієнтів ускладнюється ще й тим, що API різних сервісів може відрізнятись. ![]() Використання шлюзу у цьому випадку надає декілька переваг:
При цьому не варто забувати про недоліки такого підходу:
Backends for frontendsОдною із різновидностей цього шаблону є Backends for frontends (BFF). Оскільки різні клієнти можуть потребувати різний API для своєї роботи, варто виокремити специфічну логіку в окремі сервіси. ![]() Див. також
Джерела
|
Portal di Ensiklopedia Dunia