You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,17 +15,17 @@ _From "Domain-Driven Design: Tackling Complexity in the Heart of Software" by Er
15
15
However, Event Sourcing with DCB has some advantages/solves some pitfalls over a traditional aggregate setup.
16
16
17
17
### Reusable domain events
18
-
In traditional event sourcing design, there's typically a strict one-to-one relationship between an aggregate and a domain event, which keeps the aggregate internally consistent.
19
-
However, the DCB pattern removes this restriction by treating domain events as _pure events_.
18
+
In traditional event sourcing (if we call it like that already 😛), there’s usually a strict one-to-one relation between an aggregate and a domain event,
19
+
which helps keep things internally consistent within each aggregate. The DCB pattern takes a different approach by loosening this rule and treating domain events as so-called_pure events_.
20
20
21
-
This shift allows us to develop business decision models using specific subsets of domain events, even when they span across multiple domain identities.
21
+
This opens up new possibilities for building business decision models based on selected domain events,
22
+
also when these events spread across different domain identities.
22
23
23
-
This approach aligns well with how [EventStorming](https://github.com/ddd-crew/eventstorming-glossary-cheat-sheet) currently conceptualizes aggregates.
24
-
In EventStorming, these are often referred to as "systems" or "consistent business rules"
25
-
rather than “aggregates” to make the concept more accessible to non-technical participants in the design process.
24
+
This approach lines up well with how [EventStorming](https://github.com/ddd-crew/eventstorming-glossary-cheat-sheet) looks at aggregates.
25
+
In EventStorming, what we typically call aggregates is nowadays be seen as "systems" or "consistent business rules", making the concept easier to grasp for non-technical actors involved in design.
26
26
27
-
Replacing aggregates with business decision models through the DCB pattern mirrors EventStorming’s focus on "business rules",
28
-
bringing the software design closer to the problem space and reducing accidental complexity that can arise from translating to a purely technical aggregate concept.
27
+
So, by replacing aggregates with business decision models with the DCB pattern, we’re aligning more closely with EventStorming’s focus on "business rules".
28
+
This brings our design closer to the actual problem space and avoids so-called _accidental complexity_that is introduced with the translation to aggregates.
29
29
30
30
### No aggregate synchronisation nor domain services needed
31
31
As a domain event can be used by multiple business decision models, there is no synchronization needed between aggregates.
0 commit comments