← Back to microservices patterns map
🔄
Microservices Pattern

Anti-Corruption Layer (ACL)

Translate between your clean domain model and an external or legacy model.

DDD

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