[DDD]Model Traits worksheet
date
Jan 21, 2022
slug
ModelTraits
status
Published
tags
DDD
summary
[DDD]Model Traits worksheet
type
Post
Model Traits worksheet
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/Draft 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 |
Analysis/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 |