Implement a facade or adapter layer between different subsystems that don’t share the same semantics. This layer translates requests that one subsystem makes to the other subsystem.

Was first described by Eric Evans in his Domain-Driven Design book.

Variants

Standalone service

Traditionally anticorruption layer belongs to the bounded context it protects. But can also be implemented as a standalone service.

In such cases ACL acts as an integration-specific bounded context and often referred as interchange contexts.

See also