Aller au contenu

Projections du Product Domain

Statut

Spécification normative de modèle de lecture.

Qu'est-ce qu'une projection ?

Une projection est une représentation dérivée des données métier, préparée pour être lue facilement par un consommateur.

Elle existe pour éviter que le frontend, une API ou un audit aient à reconstruire toute la logique du Product Domain à chaque lecture.

Règle centrale

Une projection n'est pas la vérité métier.

La vérité reste dans le Product Domain. La projection est une vue reconstruisible à partir de cet état.

Product Domain
      ↓
Projection Builder
      ↓
Projection
      ↓
Frontend / API / audit / export

Pourquoi cette séparation est importante

Une vue d'affichage peut avoir besoin d'informations déjà organisées : nom, marque, modèle, statut de cohérence, variantes, conflits, etc.

Préparer ces données en amont permet des lectures rapides, mais la projection ne doit pas devenir l'endroit où l'on invente une identité ou où l'on cache un conflit.

Types de projections

Product Summary Projection

Vue synthétique pouvant contenir :

  • nom ;
  • marque ;
  • modèle ;
  • catégorie ou regroupement de lecture ;
  • statut de cohérence.

Elle convient aux listes et résumés.

Product Detail Projection

Vue détaillée pouvant exposer :

  • identité complète ;
  • variantes ;
  • identifiants ;
  • observations ;
  • conflits.

Product Conflict Projection

Vue spécialisée pour l'audit :

  • liste des conflits ;
  • preuves associées ;
  • état de résolution.

Ce qu'une projection peut faire

Elle peut :

  • sélectionner des champs ;
  • organiser les informations ;
  • agréger des données déjà décidées ;
  • préparer une structure de lecture efficace.

Ce qu'elle ne doit jamais faire

Elle ne doit pas :

  • créer une nouvelle identité ;
  • résoudre un conflit ;
  • modifier le Product ;
  • introduire une règle métier cachée ;
  • devenir irremplaçable ou impossible à reconstruire.

Exemple concret

Supposons que la page d'un smartphone affiche un mauvais modèle.

Avant de corriger la projection, il faut vérifier :

  1. l'identité canonique du Product ;
  2. l'état qui a servi à construire la projection ;
  3. la logique du Projection Builder ;
  4. la date ou version de reconstruction ;
  5. le consommateur final.

Si l'identité canonique est correcte mais la projection fausse, le problème appartient à la construction ou à l'actualisation de la projection — pas au Product Domain lui-même.

Règles

Les projections doivent :

  • être reconstruisibles ;
  • dériver uniquement de données autoritatives ;
  • rester en lecture ;
  • ne jamais modifier le Product ;
  • ne pas contenir de nouvelle décision métier.

Pour la reprise du projet

Face à une donnée publique incorrecte, ne pars jamais du principe que « la valeur en base affichée par le frontend est la vérité ». Remonte d'abord jusqu'à la source autoritative.

Une projection peut être périmée, mal reconstruite ou mal consommée.

Décision

Les projections sont des représentations optimisées pour la lecture, et non des propriétaires de la vérité métier.

Voir aussi