Задать вопрос
  • В чем разница между понятиями Anti-Corruption Layer и паттерном Adapter?

    @pikada-lab
    Исходя из Синей книги по DDD ACL это вариант интеграции, который состоит из фасадного объекта, адаптера и транслятора. Адаптер не имеет бизнес логики, его задача делать запросы. Фасадный объект - объект в терминах модели интегрируемого контекста без изменений (что бы не создать промежуточную модель между контекстами), транслятор это объект с логикой преобразования одной модели в другую. В итоге получается процесс такой. Служба нашего предохранительного уровня вызывает через адаптер службу другой системы, транслируя запрос в термины другой системы, получает фасадный объект, и с помощью транслятора преобразует его в объект нашей системы, затем возвращает его сервису или возвращает ошибку при трансляции. Обработка конфликтов может быть неизбежна. В подобных случаях рекомендую использовать монаду Either.
    Ответ написан
    Комментировать