Tél.: 06 71 50 20 17 Email: contact@sagexa.com

Formation Domain Driven Design en PHP

Accueil / Formation / programmation serveur

Domain-Driven Design en PHP7

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

du 22-06-2021 au 25-06-2021 (durée 4 jours)

Tarif :1250 € HT / personne (1250 € TTC)

sous réserve d'un nombre suffisant d'inscriptions
Par 22-06-2021programmation 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 PHP7

Objectifs de la formation Domain-Driven Design en PHP7

  • 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 PHP7

Formation Domain-Driven Design en PHP7

Durée de la formation

4 jours

Participants à la formation Domain-Driven Design en PHP7

développeurs, chefs de projets

Pré-requis de la formation

bonne connaissance de PHP7 orienté objet.

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 PHP7

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 sytè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
  • Evaluer une Idée via l'API
  • Evaluation Console APP
  • Tester le Use Case
  • Tester l'Infrastrucure
  • Dépendances
  • Hexagone Services - Notifications
  • Architecture Hexagonale
  • Points clés

< sommaire