advanced

Паттерн BFF

Проектируйте UI-specific server endpoints, агрегирующие сервисы и сохраняющие границы владения и безопасности.

Backend-for-Frontend формирует API под конкретный UI: агрегирует сервисы, скрывает внутренние URL, enforce session auth и отдаёт view models вместо сырых domain entities.

В Next.js route handlers или server actions часто играют BFF, когда команда владеет UI и агрегацией.

					Browser → Next route handler → internal services A + B → UI-shaped JSON
				

На интервью: почему one-to-one дублирование endpoints слабо и что в BFF, а что в core services.

Типовые ошибки: бизнес-правила и в BFF, и в сервисах; god handlers с domain logic; дословная утечка ошибок сервисов.

Компромисс: скорость доставки для одного клиента против ещё одного tier сервисов.

Чеклист:

  • Агрегация под UI, не ради обёртки.
  • Инварианты домена в core services.
  • Стабильные error shapes для UI.
  • Auth на границе BFF.