Design for replayability

Design for replayability

Short description Design projections so that they can be easily replayed per stream or projection type. Examples A particular read model requires a new field that wasn't captured previously. Changing the logic and replaying it will make the field available for...
Design for replayability

Isolate high-leverage shared capabilities

Short description Create a shared bounded context that others bounded contexts in the company can use to avoid having to duplicate the logic in multiple contexts. Are there seperate concepts at play. Dependency management. Trading off dependencies. Local autonomy vs...
Design for replayability

Keep your domain model decoupled from frameworks

Short description The domain model is the core of our bounded context. When we implement the domain model we want the ability to keep this consistent with our ubiqituous language. We want the ability to quicly refactor this to represent our mind-model of our domain...
Design for replayability

Optimise for future potential

Short description Even is sometime is core now, keep it as a seperate boundry anyway. Examples one option is to have a discovery context which have search catalog and recommendations. But if you know that one of those things is going to be a key part of the business...