Course Code: dddsd
Duration: 21 hours
Prerequisites:

  • Forte expérience de programmation en langages orientés objet
  • Compréhension des principes d'architecture logicielle
  • Connaissance des pratiques de développement Agile

Public Cible

  • Développeurs sénior
  • Architectes logiciels
  • Responsables techniques

Overview:

Le Design-Driven par Domaine (DDD) est une approche de développement logiciel qui met l'accent sur la conception de systèmes autour du domaine métier, en utilisant un langage ubiquitaire partagé et des techniques de modélisation tactique et stratégique.

Cette formation dirigée par un instructeur (en ligne ou sur site) est destinée aux développeurs sénior d'un niveau avancé qui souhaitent appliquer les principes du DDD pour concevoir des systèmes robustes, maintenables et évolutifs.

À la fin de cette formation, les participants seront capables de :

  • Identifier et modéliser les concepts clés du domaine d'activité en utilisant un langage ubiquitaire et des contextes limités.
  • Appliquer des motifs DDD tactiques tels que les entités, objets de valeur, agrégats, référentiels et services de domaine.
  • Concevoir des cartes de contexte et des limites stratégiques pour gérer la complexité entre microservices et équipes.
  • Intégrer les pratiques DDD dans les équipes Agile et les flux CI/CD pour améliorer la collaboration et la livraison.

Format du Cours

  • Conférence interactive et discussion.
  • Nombreux exercices et pratiques.
  • Mise en œuvre pratique dans un environnement de laboratoire en direct.

Options de Personnalisation du Cours

  • Pour demander une formation personnalisée pour ce cours, veuillez nous contacter pour organiser.

Course Outline:

Introduction au Design-Driven par Domaine

  • Principes et motivations derrière le DDD
  • Langage ubiquitaire et collaboration avec les experts de domaine
  • Différenciation des sous-domaines principaux, secondaires et génériques

Conception Stratégique et Contextes Limités

  • Définition des contextes limités et de leurs responsabilités
  • Cartographie de contexte et motifs d'intégration
  • Gestion des équipes, frontières organisationnelles et propriété des données

Motifs Tactiques — Bases de la Modèle de Domaine

  • Entités et gestion de l'identité
  • Objets de valeur et immutabilité
  • Agrégats et limites transactionnelles

Services de Domaine, Référentiels et Usines

  • Quand utiliser des services de domaine par rapport aux services d'application
  • Motifs de référentiels et considérations de persistance
  • Motifs d'usines pour la création d'objets complexes

Modélisation de Comportements Complexes et Invariants

  • Conception des invariants et application des règles métier
  • Modélisation pilotée par les événements et événements de domaine
  • Modèles de cohérence : cohérence éventuelle et sagas

Intégration du DDD avec les Pratiques d'Architecture et d'Ingénierie

  • Alignement du DDD avec les microservices et les monolithes modulaires
  • Conception d'API, couches anti-corruption et stratégies d'intégration
  • Tests de logique de domaine : tests unitaires, tests d'intégration et tests contractuels

Adoption du DDD dans les Équipes et Organisations

  • Organisation d'ateliers de découverte de domaine et d'Event Storming
  • Création et gestion d'un langage ubiquitaire au sein des équipes
  • Mesure du succès et itération sur le modèle de domaine

Résumé et Étapes Suivantes

Overview in Category: