domain roles

bounded-context-canvas/model-traits-worksheet.md at master · ddd-crew/bounded-context-canvas · GitHub

The roles/traits of a bounded context

A model is likely to be described by a number of different traits. Review the list below and choose which one applies to the context you are working on or think of your own traits.

Trait Heuristic
Specification Model Produces a document describing a job/request that needs to be performed.
Example: Advertising Campaign Builder
Execution Model Performs or tracks a job. Example: Advertising Campaign Engine
Audit Model Monitors the execution. Example: Advertising Campaign Analyser
Approver Receives requests and determines if they should progress to the next step of the process. Example: Fraud Check
Enforcer Ensures that other contexts carry out certain operations. Example: GDPR Context (ensures other contexts delete all of a user’s data)
Octopus Enforcer Ensures that multiple/all contexts in the system all comply with a standard rule. Example: GDPR Context (as above)
Interchanger Translates between multiple ubiquitous languages.
Gateway Sits at the edge of a system and manages inbound and/or outbound communication. Example: IoT Message Gateway
Gateway Interchange The combination of a gateway and an interchange.
Dogfood Context Simulates the customer experience of using the core bounded contexts. Example: Whitelabel music store
Bubble Context Sits in-front of legacy contexts providing a new, cleaner model while legacy contexts are being replaced.
Autonomous Bubble Bubble context which has its own data store and synchronises data asynchronously with the legacy contexts.
Brain Context
(likely anti-pattern) Contains a large number of important rules and many other contexts depend on it. Example: rules engine containing all the domain rules
Funnel Context Receives documents from multiple upstream contexts and passes them to a single downstream context in a standard format (after applying its own rules).
Engagement Context Provides key features which attract users to keep using the product. Example: Free Financial Advice Context