Aller au contenu

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.