Accueil / Formations

Formations

Domain-Driven Design : de l’espace du problème à l’espace de la solution Mixte : présentiel / à distance

Dernière mise à jour : 07/06/2021

En partenariat avec Bruno Boucard et Thomas Pierrain
Type : Classe à distance
Description
Dans la plupart des projets, nous sautons très souvent trop tôt sur l'espace de la solution (choix de frameworks, stacks techniques, data stores) avant même d'avoir bien compris ce qu'il fallait faire. Le logiciel n'est-il pourtant pas là pour nous aider à résoudre efficacement des problèmes métiers à la base ?

Pour celles et ceux qui auraient déjà exploré certaines techniques pour découvrir le métier (comme l'Event Storming par exemple), la question se pose ensuite très vite de comment on passe du post-it au code.. Par quoi commencer ? Comment articuler ce passage délicat entre l'exploration et le code qui laisse bien des gens sur le tapis ?

Durant cette formation co-animée par Bruno Boucard et Thomas Pierrain , nous verrons ensemble à la fois les bases et tout le cycle du développement logiciel à la Domain Driven Design (DDD). Vous utiliserez pour ce faire des techniques d'exploration et de distillation du domaine bien connues du DDD que nous vous présenterons en détail : Event Storming, Context Mapping, Example Mapping (issue du BDD) ou la reformulation, si chère à Éric Evans (le créateur du DDD).

Le deuxième jour, vous vivrez cette transition vers le code tout en appliquant et en découvrant au fil de l'eau un ensemble de concepts et de techniques du DDD qui nous serviront à travers la résolution de plusieurs modules/labs. Nous découvrirons en passant la forme de Test Driven Development vers laquelle nous avons convergé après 15 ans de pratiques du TDD : l'Outside-In et sa double boucle.

Enfin, nous protégerons ensemble notre code métier en l'isolant de la partie technique grâce à la mise en place d'une Architecture Hexagonale..
Objectifs de la formation
  • Organiser un Event Storming pour modéliser les différents domaines métier
  • Qualifier les relations entre les domaines avec le Context Mapping
  • Creuser les règles métier avec un Example Mapping
  • Modéliser les comportements et les relations d'entités avec Responsability-Driven Design
  • Appliquer Test-Driven Development en mode Outside-in pour définir les coquilles des apis publiques
  • Utiliser les premiers patterns DDD tactiques avec les premiers tests comportementaux
  • Modéliser l'agrégat en revenant sur le Whirlpool Modèle créé par Eric Evans
  • Préférer l'utilisation des Value Objects avec la fermeture sur opération
  • Protéger son domaine métier avec l'architecture Hexagonale
Public visé
  • Expert Métier
  • Développeur
  • Architecte
Prérequis
  • Pratique de la programmation orientée objet
  • Venir équipé d'un ordinateur portable pour réaliser des exercices de code en C# ou en Java
Modalités pédagogiques
La formation privilégie les échanges et la collaboration de tous les participants. Les notions seront découvertes à travers de nombreux ateliers interactifs animés en mode « training from the back of the room » (i.e. c'est en faisant qu'on apprend et retient mieux les choses), combinaison de présentations, de livecoding, de discussions, d'ateliers et d'exercices pratiques. Les supports sont en anglais et l'animation en français.
Profil du / des Formateur(s)
Toutes nos formations sont animées par des consultants-formateurs expérimentés et reconnus par leurs pairs.
Modalités d'évaluation et de suivi
L'évaluation des acquis se fait tout au long de la session au travers des ateliers et des mises en pratique. Une évaluation à chaud sur la satisfaction des stagiaires est réalisée systématiquement en fin de session et une attestation de formation est délivrée aux participants mentionnant les objectifs de la formation, la nature, le programme et la durée de l'action de formation ainsi que la formalisation des acquis.
Programme
Jour 1 - Espace du problème

INTRODUCTION
  • Tour de table et recueil des attentes des participants

DOMAIN-DRIVEN DESIGN A BRIEF TOUR
  • La genèse du DDD selon Éric Evans
  • Le DDD en 2020 (vous avez dit micro-services ?)

EVENT-STORMING - ESSENTIAL WORKSHOP
  • Motivations métier pour notre cas pratique
  • Découverte du workflow métier à travers les Domain Events
  • Émergence des premiers contextes (Bounded Contexts + Context Map)

EXAMPLE MAPPING - ESSENTIAL WORKSHOP
  • A la découverte de nos invariants métiers
  • La puissance expressive et l'efficacité de l'Example Mapping
  • Utilité d'un exemple et challenges associés

MODELING
  • Challenge collaboratif pour trouver le bon modèle
  • Confrontation des modèles vis-à-vis notre problème métier

BILAN DE LA PREMIERE JOURNÉE
Depuis la motivation métier jusqu'aux modèles envisagés
Questions/Réponses et bilan des attentes de chacun pour cette première journée

Jour 2 - Espace de la solution

INTRODUCTION
Warm-up - Questions/Réponses
Rappel sur la modélisation envisagée la veille

TEST-FIRST CODING FLOW (from problem space to solution space)
  • Outside-In TDD à la rescousse. Pourquoi et Comment ?

PATTERNS TACTIQUES DU DDD EN RENFORT
  • Le style fonctionnel : Value Object/Types, Closure of operations
  • Zoom sur le cœur du problème (Agrégats)

ARCHITECTURE ET PATTERNS STRATÉGIQUES
  • Présentation et motivation
  • Implémentation d'une architecture hexagonale sur notre base de code existante
  • Anti-corruption layer pattern

CONCLUSION
  • Questions/Réponses et partage sur la formation
  • Clôture de la session
Exposé (%)
10
Pratique (%)
80
Echanges (%)
10

M'inscrire à la formation

Lieu :
Classe virtuelle
Détail des horaires :
Demander un devis
Session sélectionnée
  • 23/09/21 → 24/09/21
  • Détails :

    23/09/21 : 09:30 → 12:30
    13:30 → 17:30
    24/09/21 : 09:00 → 12:30
    13:30 → 17:00
Prochaines Sessions
  • Désolé, cette formation n'est pas programmée pour le moment.
    Si vous êtes responsable formation, vous pouvez faire une requête pour l'organiser en INTRA dans votre entreprise.
Dans la même catégorie

Catalogue de formation propulsé par Dendreo,
logiciel spécialisé pour centres et organismes de formation

OCTO Academy respecte votre vie privée

Ce site web stocke des informations vous concernant via le dépôt de cookie afin de mesurer l’audience du site. Ces données de navigation sont anonymisées.

En cliquant sur « OK pour moi », vous manifestez votre consentement pour le dépôt de ces cookies.

Lire la politique de confidentialité

À propos des cookies

Sur ce site, nous utilisons des cookies pour mesurer notre audience, entretenir la relation avec vous et vous adresser de temps à autre du contenu qualitif ainsi que de la publicité. Vous pouvez sélectionner ici ceux que vous autorisez à rester ici.

Cookies