Product Aggregate¶
Status¶
Normative Business Domain Specification
Purpose¶
This document defines the Product aggregate of CMonChoix Platform.
The Product aggregate is the consistency boundary responsible for protecting product identity, product variants, product observations and product conflicts.
Aggregate Root¶
The aggregate root is Product.
All modifications to product identity, variants, observations, identifiers and conflicts must pass through Product.
Responsibility¶
The Product aggregate is responsible for:
- creating a stable Product identity;
- protecting Canonical Product Identity;
- attaching identifiers as evidence;
- attaching observations as evidence;
- organizing variants;
- detecting conflicts;
- exposing consistency state;
- emitting Product Domain events.
Architecture Decision¶
Decision: CERTIFIED.
Product becomes the first explicit aggregate root of the Platform Business Domains.
The Product aggregate protects identity and consistency only.