Formation Domain Driven Design en PHP


Taux global de satisfaction Client : 4.8 sur 5 pour 457 formations

Accueil / Formation / programmation serveur

sagexa in good shape

Domain-Driven Design en PHP 7 / 8

La conception pilotée par le domaine

Lieu programmé : France entière (à distance)

du 05-11-2024 au 08-11-2024 (durée 4 jours)

Tarif : 1875 € HT / personne (1875 € TTC)
sous réserve d'un nombre suffisant d'inscriptions
Par 05-11-2024programmation serveur

La conception pilotée par le domaine est une approche de la conception de logiciel basée sur deux principes : les conceptions complexes doivent être basées sur un modèle ; l'accent doit être sur le domaine et la logique associée. Le Domain-Driven Design combine pratiques de conception et de développement, et montre comment la conception et le développement peuvent travailler ensemble pour créer une meilleure solution. Une bonne conception va améliorer le développement, de même que le feedback provenant du processus de développement va améliorer le design.

Domain-Driven Design en PHP 7 / 8

Objectifs de la formation Domain-Driven Design en PHP 7 / 8

  • concevoir correctement les éléments d'un développement Domain Driven Design
  • apprendre les motifs tactiques utilisés dans l' approche Domain Driven Design
  • mettre en oeuvre une architecture hexagonale
  • intégrer les contextes finis dans l'application
  • utiliser Rest et l'approche Messages

Contenu de la formation Domain-Driven Design en PHP 7 / 8

Formation Domain-Driven Design en PHP 7 / 8

Durée de la formation

4 jours

Participants à la formation Domain-Driven Design en PHP 7 / 8

développeurs, chefs de projets

Niveau : avancé 🌶️🌶️🌶️

Pré-requis de la formation

bonne connaissance de PHP 7 / 8 orienté objet.

j'évalue mon niveau ici (QCM)

Travaux pratiques de la formation

les participants réaliseront l'implémentation d'une application web en mode Domain Driven Design


Programme de la formation Domain-Driven Design en PHP 7 / 8

introduction au Domain Driven Design

  • importance du Domain Driven Design
  • les 3 pilliers du Domain Driven Design
  • opter pour Domain Driven Design
  • les points délicats
  • le point de vue stratégique
  • Microservices et systèmes auto-contenus
  • synthèse

< sommaire


Styles Architecturaux

  • Avant...
  • Multi-couches
  • Sources d'évènements
  • synthèse

< sommaire


Objets de Valeur

  • définition
  • Objet de Valeur vs. Entité
  • Devise et Argent
  • Caractéristiques
  • Types de Base
  • Tester les OV
  • Persistance des OV
  • Sécurité
  • synthèse

< sommaire


Entités

  • introduction
  • Objets vs. types primitifs
  • Opération identité
  • persistance
  • test
  • validation
  • entités et événements du domaine
  • synthèse

< sommaire


Services

  • services de l'application
  • servies du domaine
  • services de domaine et d'infrastructure
  • tester
  • Modèles pauvres vs. riches

< sommaire


Evenements de Domaine

  • Définition et Caractéristiques
  • Modélisation des Evenements
  • Evenements Doctrine
  • Evenements de domaine persistants
  • Publication des évènements du modèle de domaine
  • Propagation aux Contextes distants
  • synthèse

< sommaire


Modules

  • Aperçu général
  • Tirer parti des modules en PHP
  • Contexte Borné et Application
  • Structurer le code en Modules
  • synthèse

< sommaire


Agrégats

  • Introduction et Concepts Clés
  • Qu'est-ce qu'un Agrégat ?
  • Pourquoi utiliser des Agrégats ?
  • Anatomie d'un Agrégat
  • Règles de Conception d'un Agrégat
  • Transactions
  • synthèse

< sommaire


Fabrique (factory)

  • Méthode Fabrique et Racine Agrégat
  • Service Fabrique
  • Tester les Fabriques
  • synthèse

< sommaire


Référentiels (repositories)

  • Définition
  • Référentiel vs. DAO
  • Référentiel orienté Collection
  • Référentiel orienté Persistance
  • Requêter un Référentiel
  • Gérer les Transactions
  • Tester un Référentiel
  • Tester un Service avec implémentation en mémoire
  • synthèse

< sommaire


Application

  • Requêtes
  • Anatomie du Service
  • Test du Service
  • Transactions
  • Sécurité
  • Evenements du Domaine
  • Gestionnaires de Commande
  • synthèse

< sommaire


Intégration des Contextes Bornés (Bounded Contexts)

  • Intégration par Data Store
  • Relations d'intégration
  • Implémenter les Intégrations du Contexte Borné
  • synthèse

< sommaire


Architecture Hexagonale en PHP

  • Introduction
  • Référentiel et Persistance
  • Découpler Métier et Persistance
  • Migrer la Persistance vers Redis
  • Découpler Métier et Framework Web
  • Accès API vs Console
  • Tester le Use Case
  • Tester l'Infrastrucure
  • Dépendances
  • Hexagone Services - Notifications
  • Architecture Hexagonale
  • Points clés

< sommaire