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
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
Partnership
The Partnership pattern describes a relationship between two bounded contexts and is used within a context map in CML.
Syntax
Note that currently two different syntax variants exist. The following code snippets illustrate both variants:
ContractsContext [P]<->[P] ClaimsContext {
implementationTechnology = "Messaging"
}
Note that with this syntax (with the arrows <->) it does not matter which bounded context is on which side, since this is a symmetric relationship. If you switch the bounded contexts, it has the same meaning semantically.
ContractsContext Partnership ClaimsContext {
implementationTechnology = "Messaging"
}
Implementation Technology
With the implementationTechnology keyword you can specify how the relationship is implemented.
Relationship Name
With a colon it is possible (optionally) to add a relationship name to the specification, as illustrated within this example:
ContractsContext [P]<->[P] ClaimsContext : ContractClaimRelationship {
implementationTechnology = "Messaging"
}
- Previous
- Next