Architecture logicielle en .NET : DDD (Domain Driven Design) & CQRS

Comment créer des applications robustes, évolutives et maintenables ?

5,01 avis Expert 5 h 49 min Certificat de réussite
Architecture logicielle en .NET : DDD (Domain Driven Design) & CQRS

Présentation

Plongez au cœur de l'architecture logicielle à travers ce cours conçu spécifiquement pour les développeurs C# cherchant à monter en compétence et à maîtriser des concepts avancés. Ce cours vous guidera à travers une approche itérative et pragmatique pour construire des applications .NET robustes et maintenables.

Prérequis :

Pour aborder ce cours dans les meilleures conditions qui soient, il est nécessaire de connaitre les fondamentaux du C# et de la création d'API avec ASP.NET avec les Minimal APIs. Si vous n'avez pas encore acquis ces compétences, je vous invite à vous tourner vers les cours correspondants afin d'acquérir les bases avant d'aller plus loin.

Points clés du programme :

  • Introduction à l'architecture : comprendre les principes fondamentaux de l'architecture logicielle, comment passer d'un domaine anémique créé de façon naïve à un domaine riche
  • Découverte du Domain Driven Design (DDD) : élaboration d'un modèle de domaine riche et expressif, applications des patterns fournis par le DDD (entité, value object, factory) pour rendre le domaine expressif
  • Application du CQRS (Command Query Responsibility Segregation) : découpage clair entre les modèles de commande et de requête pour une séparation des performances optimales et une clarté de code
  • Introduction à l'Event Sourcing : capturer et stocker les événements de votre système pour un suivi précis des états de l'application
  • Mise en œuvre itérative : adoption d'une approche itérative pour construire et améliorer votre architecture pas à pas.

Projet Pratique :

Afin d'illustrer de la façon la plus complète qui soit la mise en oeuvre du DDD et de CQRS, nous allons partir d'un projet de démonstration, simple mais complet, de système de réservation de chambres d'hôtel. Pour voir une idée de ce que nous allons aborder dans ce cours, regardez les premières vidéos disponibles gratuitement.

Support et Communauté :

Comme avec tous les cours de la plateforme, vous aurez un support et un accès à la communauté sur la plateforme et par le serveur Discord afin de discuter sur les concepts exposés dans les vidéos.

Ce cours est une opportunité rare de se familiariser et de maîtriser des paradigmes avancés en architecture logicielle, tout en adoptant une approche pratique et itérative. La combinaison du DDD et du CQRS vous prépare à faire face aux défis les plus complexes du développement logiciel dans l'écosystème .NET. Rejoignez-moidans ce voyage d'apprentissage enrichissant et propulsez votre carrière de développeur C# à un nouveau sommet.

Contenu du cours

32 leçons · 5 sections

Introduction 2 leçons · 23min
  • Introduction générale, prérequis & avertissements10:50
  • Un peu de théorie & présentation du projet12:28
  • Fonctionnement pédagogique du cours
Fondamentaux de la création du domaine 6 leçons · 56min
  • Création naïve des objets du domaine12:22
  • Implémentation d'un algorithme métier9:25
  • Instanciation d'un objet du domaine9:32
  • Domain Service et Factory en pratique13:58
  • Gérer les dépendances du domaine3:36
  • Fournir un point d'entrée pour l'enregistrement des services7:07
Approche DDD (Domain Driven Design) 7 leçons · 1h04min
  • Les entités5:35
  • Introduction au ValueObject9:46
  • Comportements au sein des ValueObjects12:24
  • Implémentation du ValueObject Money4:12
  • Créer des identifiants fortement typés12:42
  • Gérer les résultats avec le pattern Result11:11
  • Supprimer l'utilisation de DateTime.UtcNow9:08
La couche Application (CQRS) 10 leçons · 1h51min
  • Création de la couche Application11:34
  • Implémentation du handler de commande CreateBooking10:00
  • Gérer les cas d'erreur applicatifs9:26
  • Implémenter une query "CRUD"6:05
  • Comment implémenter une query business complexe ?11:17
  • Création du repository avec EF Core pour le WriteSide11:29
  • Implémenter une query complexe avec Dapper16:17
  • Mise en place de l'API avec ASP.NET10:01
  • Réalisation des endpoints de l'API ASP.NET (Command & Query)15:23
  • Correction d'un bug dans le domaine9:56
AggregateRoot et Domain Events 7 leçons · 1h33min
  • Les objets de base13:41
  • Implémentation de l'agrégat de notre domaine8:21
  • Algorithme d'ajout d'une réservation dans l'Aggregate16:49
  • Récupérer l'agrégat depuis la couche persistence15:26
  • Création de l'événement du domaine "BookingCreated"13:08
  • Ajout du handler pour la persistance de "BookingCreated"9:58
  • Automatiser l'envoi des événements après une transaction business16:36

Avis sur le cours

5,0 1 avis
5 1
4 0
3 0
2 0
1 0
  • Johan Coureuil 14 janvier 2024

    Ce cours est très enrichissant !

Aperçu gratuit

Demande de devis entreprise

Accès à vie

167 €