Что такое Anti-Corruption Layer
Изоляция от внешних моделей данных
Anti-Corruption Layer (ACL)
Anti-Corruption Layer — архитектурный паттерн из Domain-Driven Design (DDD), который защищает доменную модель от влияния внешних систем через слой трансляции.
Зачем нужен
| Проблема | Решение | |----------|---------| | Внешняя модель отличается от внутренней | ACL транслирует данные | | Legacy-система с устаревшим API | Адаптация без изменения ядра | | Интеграция с третьими сервисами | Изоляция зависимостей | | Миграция на новую архитектуру | Постепенный переход |
Компоненты ACL
- Translator — преобразование данных между моделями
- Facade — упрощённый интерфейс к внешней системе
- Adapter — адаптация протоколов и форматов
- Gateway — точка входа для внешних запросов
Когда применять
- Интеграция с legacy-системами
- Работа с внешними API разных версий
- Переход между микросервисами
- Защита от изменений во внешних системах
Преимущества
- Чистота доменной модели
- Независимость от внешних изменений
- Возможность постепенной миграции
- Тестируемость бизнес-логики