
Formation Domain Driven Design
Maîtrisez le Domain-Driven Design et concevez des logiciels qui reflètent fidèlement la complexité métier réelle. Ce cours vous emmène de la philosophie centrale du DDD aux patrons avancés stratégiques et tactiques, couvrant les agrégats, les contextes bornés, les événements métier et l'architecture hexagonale. Que vous conceviez des systèmes greenfield ou que vous démêliez des bases de code existantes, vous acquerrez les outils pour modéliser les domaines avec précision et confiance.
Ce que vous allez apprendre:
Vous apprendrez à appliquer les patrons DDD stratégiques et tactiques à des systèmes logiciels réels. Le cours couvre les concepts fondamentaux comme le langage omniprésent et la décomposition en sous-domaines, puis aborde les blocs de construction tels que les entités, les objets-valeurs, les agrégats, les dépôts et les services métier. Vous concevrez des contextes bornés, produirez des cartes de contextes et implémenterez des architectures orientées événements à l'aide d'événements métier et de sagas. Les sujets avancés incluent CQRS, l'architecture hexagonale, l'event sourcing et la migration incrémentale de systèmes existants. Vous développerez également des compétences pratiques en animation d'Event Storming, en collaboration avec des experts métier et en stratégies de test DDD complètes.
Comment vous étudiez de façon pratique Formation Domain Driven Design
Comment vous pratiquez Formation Domain Driven Design
Pour vous, entreprise, qui souhaitez former votre équipe
Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre propre activité et aux besoins spécifiques de votre entreprise.
Contenu du cours
8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsFondamentaux du Domain-Driven Design
Fondamentaux du Domain-Driven Design
Leçon 1 • Experts du domaine et collaboration
Couvre les techniques pour impliquer les experts du domaine en tant que partenaires de conception actifs. Les étudiants pratiquent des conversations d'extraction de connaissances et des ateliers structurés.
Leçon 2 • Patrons stratégiques vs tactiques du DDD
Distingue les deux familles de patrons et explique comment elles se complètent. Établit la feuille de route d'apprentissage pour le reste du cours.
Leçon 3 • Le concept de langage omniprésent
Présente le langage partagé entre les développeurs et les experts du domaine comme pratique fondamentale du DDD. Les étudiants apprennent à identifier et à construire un glossaire vivant.
Leçon 4 • Comprendre le domaine et les sous-domaines
Enseigne la décomposition d'un domaine métier en sous-domaines cœur, de support et génériques. Les étudiants l'appliquent à des scénarios réels pour prioriser l'investissement de conception.
Leçon 5 • Qu'est-ce que le Domain-Driven Design
Définit le DDD comme une philosophie logicielle centrée sur la complexité du domaine métier. Ancre les étudiants dans la motivation avant d'introduire des patrons tactiques.
Chapitre 2MasquerCacher les détailsVoir les détailsBlocs de construction : Entités et objets-valeurs
Blocs de construction : Entités et objets-valeurs
Leçon 1 • Choisir entre entités et objets-valeurs
Fournit des critères de décision pour classer correctement les concepts du domaine. Les étudiants analysent des cas ambigus et justifient leurs choix de modélisation.
Leçon 2 • Modélisation du comportement riche du domaine
Va au-delà des conteneurs de données pour placer la logique métier à l'intérieur des objets du domaine. Les étudiants implémentent des méthodes du domaine qui appliquent des invariants.
Leçon 3 • Patrons d'implémentation pratiques
Traduit les modèles conceptuels en structures de code fonctionnelles. Les étudiants appliquent des méthodes d'usine, des constructeurs de copie et des redéfinitions d'égalité.
Leçon 4 • Entités : Identité et cycle de vie
Définit les entités comme des objets ayant une identité continue à travers les changements d'état. Les étudiants apprennent les stratégies d'attribution d'identité et la gestion du cycle de vie.
Leçon 5 • Objets-valeurs : Immuabilité et égalité
Couvre les objets-valeurs en tant que concepts descriptifs et sans effet de bord du domaine. Les étudiants implémentent l'immuabilité et l'égalité structurelle dans le code.
Chapitre 3MasquerCacher les détailsVoir les détailsAgrégats et racines d'agrégat
Agrégats et racines d'agrégat
Leçon 1 • Fondamentaux des agrégats
Définit les agrégats comme des unités de cohérence composées d'entités et d'objets-valeurs. Les étudiants apprennent pourquoi les agrégats existent et quels problèmes ils résolvent.
Leçon 2 • Le rôle de la racine d'agrégat
Explique l'entité racine comme le seul point d'accès externe pour un agrégat. Les étudiants implémentent un accès contrôlé par la racine et un référencement par identité.
Leçon 3 • Invariants et validation des agrégats
Couvre l'application des règles métier qui s'étendent sur plusieurs objets au sein d'un agrégat. Les étudiants écrivent des vérifications d'invariants déclenchées par des commandes modifiant l'état.
Leçon 4 • Communication inter-agrégats
Aborde comment les agrégats interagissent sans violer l'isolation. Les étudiants utilisent des événements du domaine et la cohérence éventuelle pour se coordonner à travers les frontières.
Leçon 5 • Conception des limites des agrégats
Enseigne des heuristiques pour tracer des limites d'agrégat correctes. Les étudiants évitent les agrégats trop volumineux et les problèmes de concurrence qu'ils causent.
Chapitre 4MasquerCacher les détailsVoir les détailsDépôts, usines et services du domaine
Dépôts, usines et services du domaine
Leçon 1 • Services du domaine pour la logique sans état
Identifie les opérations qui n'appartiennent à aucune entité ou objet-valeur unique. Les étudiants implémentent des services du domaine qui expriment une logique métier pure.
Leçon 2 • Patron Usine en DDD
Explique les usines comme encapsulant la logique de création complexe. Les étudiants construisent des usines qui appliquent des invariants lors de la construction des objets.
Leçon 3 • Stratégies d'implémentation des dépôts
Couvre les implémentations concrètes de dépôts et leurs compromis. Les étudiants mappent les racines d'agrégat aux magasins de persistance sans faire fuiter l'infrastructure dans le domaine.
Leçon 4 • Intégration des patrons de support
Montre comment les dépôts, usines et services collaborent dans un cas d'utilisation complet. Les étudiants retracent une commande de la couche application à travers le domaine et retour.
Leçon 5 • Fondamentaux du patron Dépôt
Définit les dépôts comme des abstractions de type collection sur la persistance. Les étudiants implémentent des interfaces de dépôt qui cachent la technologie de stockage au domaine.
Chapitre 5MasquerCacher les détailsVoir les détailsContextes délimités et cartographie des contextes
Contextes délimités et cartographie des contextes
Leçon 1 • Patrons de cartographie des contextes
Introduit le catalogue complet des patrons de relations entre contextes. Les étudiants sélectionnent les patrons appropriés en fonction de la dynamique d'équipe et des besoins d'intégration.
Leçon 2 • Fondamentaux des contextes délimités
Définit un contexte délimité comme une frontière explicite à l'intérieur de laquelle un modèle est cohérent. Les étudiants identifient les limites de contextes dans les systèmes existants.
Leçon 3 • Dessiner et documenter les cartes de contextes
Enseigne la notation et les outils pour produire des cartes de contextes lisibles. Les étudiants créent des cartes qui communiquent les contrats d'intégration à toutes les parties prenantes.
Leçon 4 • Conception de la couche anti-corruption
Plonge dans l'ACL en tant que frontière de traduction protégeant le modèle du domaine. Les étudiants implémentent des adaptateurs et des traducteurs qui isolent les concepts du modèle externe.
Leçon 5 • Topologies d'équipe et propriété des contextes
Relie la conception des contextes délimités à la structure d'équipe et à la loi de Conway. Les étudiants alignent les limites des contextes avec la charge cognitive de l'équipe et les chemins de communication.
Chapitre 6MasquerCacher les détailsVoir les détailsÉvénements du domaine et architecture orientée événements
Événements du domaine et architecture orientée événements
Leçon 1 • Événements du domaine comme faits métier
Définit les événements du domaine comme des enregistrements immuables de quelque chose de significatif qui s'est produit. Les étudiants distinguent les événements du domaine des messages techniques et des notifications système.
Leçon 2 • Introduction à l'Event Sourcing
Introduit l'Event Sourcing comme une stratégie de persistance alternative pilotée par les événements du domaine. Les étudiants évaluent quand l'Event Sourcing est adapté et quand il ajoute une complexité inutile.
Leçon 3 • Cohérence éventuelle et patrons Saga
Aborde les processus métier en plusieurs étapes qui s'étendent sur plusieurs agrégats et contextes. Les étudiants implémentent des sagas basées sur la chorégraphie et l'orchestration.
Leçon 4 • Intégration des événements à travers les contextes délimités
Étend les événements du domaine à l'intégration inter-contextes via une infrastructure de messagerie. Les étudiants conçoivent des événements d'intégration qui respectent l'autonomie des contextes.
Leçon 5 • Déclencher et gérer les événements du domaine
Couvre les mécanismes de publication d'événements depuis les agrégats et d'abonnement à ceux-ci. Les étudiants implémentent la distribution d'événements en processus et l'enregistrement de gestionnaires.
Chapitre 7MasquerCacher les détailsVoir les détailsArchitecture applicative et stratification
Architecture applicative et stratification
Leçon 1 • Architecture en couches en DDD
Introduit l'architecture DDD classique à quatre couches et ses règles de dépendance. Les étudiants mappent les concepts du domaine à la couche correcte.
Leçon 2 • Préoccupations d'infrastructure et inversion de dépendances
Montre comment l'inversion de dépendances maintient la couche du domaine libre de dépendances d'infrastructure. Les étudiants câblent les adaptateurs d'infrastructure à l'aide de conteneurs d'injection de dépendances.
Leçon 3 • Services d'application et cas d'utilisation
Définit les services d'application comme des orchestrateurs de la logique du domaine pour des cas d'utilisation spécifiques. Les étudiants maintiennent les services d'application libres de règles métier.
Leçon 4 • Fondamentaux du patron CQRS
Introduit le Command Query Responsibility Segregation comme complément au DDD. Les étudiants séparent les modèles d'écriture des modèles de lecture pour optimiser chacun indépendamment.
Leçon 5 • Architecture hexagonale et ports et adaptateurs
Présente l'architecture hexagonale comme une alternative moderne qui applique l'isolation du domaine. Les étudiants définissent des ports comme des interfaces et des adaptateurs comme des implémentations d'infrastructure.
Chapitre 8MasquerCacher les détailsVoir les détailsDDD avancé : Modélisation de domaines complexes
DDD avancé : Modélisation de domaines complexes
Leçon 1 • Distillation stratégique du domaine cœur
Concentre l'investissement de conception sur le domaine cœur à l'aide de techniques de distillation. Les étudiants produisent un document de domaine cœur mis en évidence et un plan d'extraction de sous-domaines génériques.
Leçon 2 • Gérer la complexité du domaine avec des modules
Utilise des modules pour organiser les grands modèles de domaine en packages cohérents et faiblement couplés. Les étudiants appliquent des métriques de cohésion et de couplage à la conception des modules.
Leçon 3 • Principes de conception souple
Couvre les patrons de conception souple d'Evans pour rendre les modèles révélateurs d'intention et flexibles. Les étudiants appliquent des interfaces révélatrices d'intention et des fonctions sans effet de bord.
Leçon 4 • Modélisation des politiques et règles métier
Aborde les règles métier complexes et changeantes en tant qu'objets du domaine explicites. Les étudiants implémentent les patrons Spécification et Politique pour encapsuler la logique des règles.
Leçon 5 • Refactoriser vers une vision plus profonde
Enseigne le raffinement itératif du modèle guidé par une nouvelle compréhension du domaine. Les étudiants pratiquent la refactorisation de rupture qui révèle des concepts de domaine cachés.
Votre certificat valide de réussite
Ce cours est pour vous :
Développeurs logiciels de niveau intermédiaire : prêts à dépasser une pensée centrée sur le CRUD.
Architectes solutions : cherchant des méthodes structurées pour maîtriser la complexité métier.
Ingénieurs back-end : frustrés par des bases de code qui s'éloignent de l'intention métier.
Responsables techniques : chargés de guider les équipes dans des décisions complexes de modélisation de domaine.
Consultants logiciels : conseillant les clients sur la conception de systèmes évolutifs et alignés sur le métier.
Personnes en reconversion issues de l'analyse métier : apportant leur connaissance du domaine dans des rôles de conception logicielle.
Ce que disent nos élèves
Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...

J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.

J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !

La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.

Formations principales
FAQ
Qui est Dedika ?
Le certificat est-il valable au Maroc ?
Les cours sont-ils gratuits ?
Quelle est la charge de travail du cours ?
Comment sont les cours ?
Comment fonctionnent les cours ?
Quelle est la durée des cours ?
Quel est le coût ou le prix des cours ?
Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?
Cours PDF




















