Aller au contenu

Projection

Une Projection est une représentation spécialisée d'une Canonical Identity.

Elle permet à une couche consommatrice d'utiliser une identité sans connaître les détails internes du Domain Core.


Sommaire

  • Présentation
  • Pourquoi une Projection ?
  • Objectifs
  • Cycle de vie
  • Responsabilités
  • Types de projections
  • Invariants
  • Exemples
  • Évolution future
  • Voir aussi

Présentation

Une Projection représente une vue construite à partir d'une Canonical Identity.

Elle n'est pas une nouvelle vérité métier.

Elle ne modifie jamais la Canonical Identity.

Elle expose uniquement les informations nécessaires à un usage précis.


Pourquoi une Projection ?

Une même identité peut être utilisée par plusieurs composants :

  • Frontend
  • SEO
  • API
  • Read Services
  • Exports
  • Comparateurs

Chaque composant attend une représentation différente.

La Projection évite que chacun reconstruise sa propre logique.


Objectifs

Les projections poursuivent plusieurs objectifs.

Réutilisabilité

Une même Canonical Identity peut alimenter plusieurs représentations.


Cohérence

Toutes les couches consomment la même vérité métier.


Performance

Les données sont déjà préparées.

Les consommateurs n'ont plus besoin de recalculer la logique métier.


Découplage

Le Frontend ne connaît pas le Domain Core.

Il consomme uniquement des projections.


Cycle de vie

Canonical Identity
        │
        ▼
Projection Builder
        │
        ▼
Projection
        │
        ├── Frontend
        ├── SEO
        ├── API
        ├── Export
        ├── Audit
        └── Comparateur

Responsabilités

Une Projection est responsable de :

  • préparer les données ;
  • normaliser les champs ;
  • masquer les détails internes ;
  • fournir une représentation stable.

Elle n'est jamais responsable de :

  • résoudre une identité ;
  • modifier les données ;
  • écrire en base ;
  • appliquer une règle métier.

Types de projections

Projection Frontend

Affichage des fiches produits.


Projection SEO

Construction des URLs.

Balises.

Métadonnées.


Projection API

Consommation par des services externes.


Projection Audit

Utilisée par les Read Services.


Projection Export

Destinée aux exports externes.


Projection Comparateur

Prépare les données nécessaires aux comparateurs.


Invariants

Une Projection :

  • est déterministe ;
  • est reproductible ;
  • ne dépend jamais d'un marchand ;
  • ne modifie jamais la Canonical Identity ;
  • ne contient aucune logique métier.

Exemple Smartphone

Canonical Identity :

Apple

iPhone 16 Pro

256 Go

Titanium Black

Projection Frontend :

Apple iPhone 16 Pro 256 Go – Titane noir

Projection SEO :

/apple/iphone-16-pro-256-go-titane-noir/

Exemple Photo

Canonical Identity :

Canon

EF-S

55-250 mm

f/4-5.6 IS STM

Projection Comparateur :

Monture : EF-S

Focale : 55-250 mm

Ouverture : f/4-5.6

Évolution future

À terme, plusieurs familles de projections pourront coexister.

Par exemple :

  • Projection IA
  • Projection API publique
  • Projection Mobile
  • Projection Marketplace
  • Projection Statistiques

Toutes utiliseront la même Canonical Identity.


Conclusion

La Projection constitue la frontière entre le Domain Core et les couches consommatrices.

Elle permet de conserver un Domain Core indépendant tout en offrant des représentations adaptées aux différents usages.


Voir aussi

  • Candidate
  • Resolver
  • Canonical Identity
  • Projection Builder Contract
  • Frontend