
DDD en pratique
Le Domain-Driven Design par la pratique
Cette formation originale s’adresse à tous les développeurs désirant découvrir comment mettre en musique (dans le code) un projet organisé de manière agile. Cette formation bouscule les codes établis et son contenu représente un peu le chaînon manquant entre l'agile et le code.

4 jours
Présentiel
Distanciel

France
DDD en pratique
Domain-Driven Design en pratique
4 jours, 2 x 2 jours (soit 28h)
2 700 € HT par personne, soit 3 240 € TTC
Cette formation est organisée en deux sessions de 2 jours et il est nécessaire d’avoir suivi préalablement la formation “Introduction au Domain-Driven Design”.
Le Domain-Driven Design ou “DDD” est un incontournable dans la carrière d’un développeur. Cette formation s’adresse aux développeurs confirmés.
En construisant une application exemple, les principes, les patterns tactiques et stratégiques du DDD sont abordés de manière concrète, ainsi que des sujets comme la documentation vivante, l’Event Sourcing ou le DDD et la programmation fonctionnelle.
Public concerné
Cette formation s’adresse aux développeurs confirmés ou Lead Tech. Une expérience en programmation Objet est un prérequis, si possible Java ou C# (les exemples sont en Java, il est possible de faire la formation en C#, autre langage sur demande).
Prérequis
Java ou C#
Avoir suivi la journée de sensibilisation au DDD
Sessions 2021 :
-
13/14 Octobre et 26/27 Octobre
-
24/25 Novembre et 7/08 Décembre
Objectifs de la formation
✔ Plonger dans le monde du Domain-Driven Design
✔ Comprendre les concepts du DDD
✔ Maîtriser les patterns tactiques du DDD et quelques patterns stratégiques
✔ Explorer de nouvelles pratiques de code et d’architectures liés au DDD
✔ Découvrir : l’Event Storming, la documentation vivante, l’Event Sourcing, et le DDD et la programmation fonctionnelle.
Programme détaillé de formation :
Introduction
-
rappel de la session de sensibilisation
Code d'un Value Object
-
Tests
-
Construction intègre (DDD's factories)
-
Immutabilité
Code d'une entité
-
Tests
-
Construction intègre
-
Identité
-
Mutabilité
-
Vers un pattern d'entité immutable
-
Le cycle de vie d'une entité
La pratique de l'Ubiquitous Language
-
L'oral, l'écrit, le glossaire, les réflexes
-
Converger et tenir le domaine avec l'UL et le Bounded Context
La documentation vivante
-
Code avec annotations des pattern DDD
-
Quelques autres techniques de documentation vivante
Architecture
-
Les couches du DDD (Et L'hexagonal ? et l'oignon?)
-
Les tests des couches
-
La couche domaine et les tests Unitaires
-
La couche application et les tests "BDD"
-
La couche infrastructure et ses tests
-
Les tests E2E
-
Les modules, l'organisation du projet
-
Les repositories
-
Bien découpler, bien ranger
-
Détail sur la couche infra : les couches d'anticorruption (ACL)
Mise en place sur notre application
Jours 1 (Patterns tactiques et UL) et 2 (Architecture)
Jours 3 (Les agrégats) et 4 (DDD stratégique, ES, CQRS)
L'IC version DDD
-
L'Intégration continue des concepts, le refactoring de concept
-
Dérouler un Scénario sur le modèle de notre application fil rouge
Recap : les moteurs du DDD
-
UL et BC
-
Un moteur d'évolutions (agile) : UL/Code/Modèle/IC
-
NY accélère NY
Les agrégats, le cœur du problème
-
Pourquoi c’est si important ?
-
Et avec plusieurs agrégats ?
-
Les VO ID
-
Les évènements de domaine
-
Eventual consistency
-
Les Services de domaine
-
L'injection pour découpler
Mise en place sur notre application
D'autres patterns stratégiques du DDD
CQRS et Event Sourcing
-
La dualité état / évènement
-
Les principes d'architecture CQRS
-
Attention au Command sourcing
-
Le coeur de l'Event Sourcing
-
Framework d'ES
Le DDD, l'approche objet, l'approche fonctionnelle
-
La pensée objet et la pensée fonctionnelle
-
Le DDD et le fonctionnel
-
Exemple en Clojure, en F#
Conclusion
-
Le DDD, vers une maturité du SI
-
Le DDD, ne sera jamais dogmatique
-
L'avenir du DDD