TP3 - Créer les dépôts et ajouter les événements de domaine
Lorsque nous conservons des instances d’agrégats à l’aide de l'Event Sourcing, nous conservons un « événement d’ajout » plutôt que l’instance elle-même.
Cet événement contiendra l’instantané de l’état initial sur lequel nous appliquerons tous les événements ultérieurs afin de « réhydrater » l’état actuel de l’objet.
Dans ce TP, nous commencerons à remplir les détails nécessaires pour qu’un dépôt « ajoute » une instance d’agrégat.
Nous réaliserons deux scénarios :
-
Un référentiel doit être capable de fournir la prochaine identité disponible, ou
Ref, pour un agrégat. -
Un référentiel doit correctement construire et publier un
DepotAjouterEvenement.
Vous pouvez exécuter com.pizzeria.suites.Lab3Suite pour vérifier votre progression dans ce TP.
mvn -PLab3 test
1. Instructions
-
CommandeCuisinea un type associéReferenceCommandeCuisine. Complétez son implémentation. Recherchez des indices dans les autres classesReferencetrouvées dans les contextes Commandes et Paiements. -
Pizzaa un type associéReferencePizza. Complétez son implémentation. Recherchez des indices dans les typesReferencetrouvés dans les contextes Commandes et Paiements. -
CommandeCuisinepossède une classe statique interne appeléeMementoCommandequi capture l’instantané de l’état initial deCommandeCuisine. En d’autres termes, elle enregistre les références aux commandes cuisine et en ligne, ainsi que la liste de Pizzas. Elle est renvoyée par la méthodememento(). Complétez ces implémentations. Cherchez des indices dans les classesAgregattrouvées dans les contextes Commandes et Paiements. -
« Pizza » possède une classe interne statique interne appelée «
MementoPizza» qui capture l’instantané de l’état initial de « Pizza ».
Elle est renvoyée par la méthode «memento()». Complétez ces implémentations. Recherchez des indices dans les types «Agregat» trouvés dans les contextes « Commandes » et « Paiements ».