26 lines
611 B
Markdown
26 lines
611 B
Markdown
# Tactical Pattern Checklist
|
|
|
|
## Aggregate design
|
|
|
|
- One aggregate root per transaction boundary
|
|
- Invariants enforced inside aggregate methods
|
|
- Avoid cross-aggregate synchronous consistency rules
|
|
|
|
## Value objects
|
|
|
|
- Immutable by default
|
|
- Validation at construction
|
|
- Equality by value, not identity
|
|
|
|
## Repositories
|
|
|
|
- Persist and load aggregate roots only
|
|
- Expose domain-friendly query methods
|
|
- Avoid leaking ORM entities into domain layer
|
|
|
|
## Domain events
|
|
|
|
- Past-tense event names (for example, `OrderSubmitted`)
|
|
- Include minimal, stable event payloads
|
|
- Version event schema before breaking changes
|