Что такое Anti-Corruption Layer (ACL) в DDD?

Senior
211 просмотров
AFK Offer AI

ACL — слой трансляции между разными bounded contexts или external системами. Предотвращает "загрязнение" твоей domain model концепциями внешнего API. Пример: внешний payment API использует свои термины → ACL транслирует в твои domain объекты. PaymentAdapter.charge(order: Order): Promise — скрывает детали Stripe API. При смене платёжного провайдера: меняешь только адаптер. В Node.js: класс-адаптер + TypeScript интерфейс для domain side. Тестировать легко — мокаешь адаптер в тестах сервисов.

Следующий вопрос

Как работает Sinon для стабов и шпионов?