CML Reference - Introduction
Language Semantics
Context Map
Bounded Context
Domain and Subdomain
Domain Vision Statement
Partnership
Shared Kernel
Customer/Supplier
Conformist
Open Host Service
Anticorruption Layer
Published Language
Responsibility Layers
Knowledge Level
Aggregate
Tactic DDD Syntax
Application and Process Layer
User Requirements
Stakeholders
Value Registers
Imports
Architectural Refactorings
AR-1: Split Aggregate by Entities
AR-2: Split Bounded Context by Features
AR-3: Split Bounded Context by Owner
AR-4: Extract Aggregates by Volatility
AR-5: Extract Aggregates by Cohesion
AR-6: Merge Aggregates
AR-7: Merge Bounded Contexts
AR-8: Extract Shared Kernel
AR-9: Suspend Partnership
AR-10: Change Shared Kernel to Partnership
AR-11: Change Partnership to Shared Kernel
Anticorruption Layer
The Anticorruption Layer pattern describes a relationship between two bounded contexts and is used on a context map in CML.
Syntax
The Anticorruption Layer pattern can be used as a role for the downstream context in a Upstream/Downstream relationship by using the ACL abbreviation. The following example illustrates the syntax:
DebtCollection [D,ACL]<-[U,OHS,PL] PrintingContext {
implementationTechnology = "SOAP"
}
Semantic Rules
Note that semantic rules (validators) exist for Anticorruption Layer within CML. This means that not every combination of patterns and concepts is allowed, even if it would be syntactically correct. The following rules apply to a Anticorruption Layer:
- The Anticorruption Layer pattern can be used in a Customer/Supplier relationship, but this leads to contradictions with the original pattern definition according to our understanding.
- The usage of Anticorruption Layer in a Customer/Supplier relationship produces a Warning only.
For a summary of all semantic rules and further justifications, please consult Language Semantics.
- Previous
- Next