Prenez contact avec nous

Plan du cours

Introduction au Domain-Driven Design

  • Principes et motivations sous-jacents au DDD.
  • Langage universel et collaboration avec les experts du domaine.
  • Distinction entre les sous-domaines principaux, d'assistance et génériques.

Conception stratégique et contextes bornés

  • Définition des contextes bornés et de leurs responsabilités.
  • Cartographie des contextes et patterns d'intégration.
  • Gestion des équipes, des frontières organisationnelles et de la propriété des données.

Patterns tactiques : Les éléments constitutifs du modèle du domaine

  • Entités et gestion de l'identité.
  • Objets de valeur et immuabilité.
  • Agrégats et frontières transactionnelles.

Services du domaine, dépôts (repositories) et usines d'objets (factories)

  • Quand utiliser les services du domaine par rapport aux services applicatifs.
  • Patterns de dépôt (repository) et considérations liées à la persistance.
  • Patterns de fabrique pour la création complexe d'objets.

Modélisation de comportements complexes et d'invariants

  • Conception d'invariants et application des règles métier.
  • Modélisation orientée événements et événements du domaine.
  • Modèles de cohérence : cohérence éventuelle et sagas.

Intégration du DDD avec les pratiques architecturales 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 la logique métier : tests unitaires, tests d'intégration et tests de contrat.

Adoption du DDD au sein des équipes et des organisations

  • Animation d'ateliers de découverte du domaine et d'Event Storming.
  • Création et gestion d'un langage universel à travers les équipes.
  • Mesure du succès et itération sur le modèle du domaine.

Résumé et prochaines étapes

Pré requis

  • Une solide expérience de la programmation dans des langages orientés objet.
  • Une compréhension des principes d'architecture logiciel.
  • Une familiarité avec les pratiques de développement Agile.

Public cible

  • Développeurs seniors.
  • Architectes logiciels.
  • Leads techniques.
 21 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (1)

Cours à venir

Catégories Similaires