← Back to microservices patterns mapDDD
🔄
Microservices Pattern
Anti-Corruption Layer (ACL)
Translate between your clean domain model and an external or legacy model.
Detailed Description
An ACL protects your service from adopting another system’s messy model or terminology.
It is especially useful during migrations and integrations with legacy systems.
Visual Diagram
Your Domain <-> ACL adapter <-> Legacy/external system translation both ways
Tradeoffs
Pros
Domain stays clean, external systems can change
Cons
Translation layer to maintain
Examples: Legacy adapters, SDK wrappers, domain mappers