Formation

Monter au rang des Élites avec le Domain-Driven Design

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 du métier à 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.

Lors de cette formation de 2 jours, nous allons couvrir l'essentiel du Domain-Driven Design, à la fois les bases et tout le cycle du développement logiciel.

Par quoi commencer ? Comment articuler ce passage délicat entre l’exploration et le code qui laisse bien des gens sur le tapis ?

Lors de cette formation de 2 jours, nous allons revoir ensemble à la fois les bases et tout le cycle du développement logiciel à la Domain-Driven Design (DDD). Ceci se fera à travers un exemple concret reposant sur un besoin du métier que vous allez devoir découvrir en groupe, dès le premier jour.

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). Nous comprendrons pourquoi un langage partagé créé par des conversations entre toutes les disciplines impliquées.

Après avoir découvert l’espace du problème, nous étudierons le processus de modélisation appelé, Model-Driven Design. Eric Evans l’a résumé avec le Model Exploration Whirlpool. Nous serons enfin prêts pour séparer l’infrastructure du domaine avec la mise en place de l’architecture hexagonale.


OBJECTIFS

  • Maîtriser les concepts et les principes essentiels de l'approche Domain-Driven Design
  • Mettre en place un Event Storming pour une compréhension collective du problème métier
  • Utiliser un langage commun pour communiquer et implémenter l'espace de la solution
  • Analyser les comportements core-domaine avec Example Mapping & CRC Cards
  • Expérimenter le TDD Outside/in plonger dans notre solution
  • Faire expérience du Supple Design pour rendre votre code agréable
  • Comprendre le Deep Modeling pour coder les scénarios métier les plus avancés
  • Protéger code métier de l'infrastructure en appliquant l'architecture hexagonale

PROGRAMME DOMAIN-DRIVEN DESIGN

Jour 1 - ESPACE DU PROBLÈME
  • INTRODUCTION AU DOMAIN-DRIVEN DESIGN
  • EVENT STORMING
  • EXAMPLE MAPPING
  • DISTILLATION DU DOMAINE

Jour 2 - ESPACE DE LA SOLUTION
  • TRANSITION AVEC LE CODE via l'OUTSIDE-IN TDD
  • SUPPLE DESIGN
  • DEEP MODELING
  • ARCHITECTURE HEXAGONALE
  • MICRO-SERVICES & DDD

MODALITÉ PÉDAGOGIQUE

80% de travaux pratiques et 20% de théorie
Combinaison de présentations, de livecoding, de discussions, d’ateliers et d’exercices pratiques
La formation privilégie les échanges et la collaboration de tous les participants

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.

  • PUBLIC CIBLE

    • Expert Métier
    • Architecte
    • Développeur
    • Tech-Lead
  • PRÉREQUIS

    Pratique de la programmation orientée objet (JAVA, C#). Au cours de la formation, vous pourrez vous servir de votre ordinateur et du langage de programmation que vous utilisez habituellement.
  • LIVRABLES

    • Les supports en anglais
    • Les exercises
  • TARIF

    1 800 €
  • DURÉE

    14h / 2j
  • PROFIL DU FORMATEUR

    Nos formateurs sont expérimentés et reconnus par leurs pairs
  • INTRA-ENTREPRISE

    • Sur devis
    • Durée adaptée
    • Dans vos locaux ou en distanciel
Contactez-nous