Conception orientée domaine en PHP
400 pages
French
PDF
4.5

Conception orientée domaine en PHP

Conception orientée domaine en PHP

Auteur :

Année :

Résumé :

Introduction

Le livre « Domain-Driven Design in PHP » (auteurs : Carlos Buenosvinos, Christian Soronellas, Keyvan Akbary, 2017, 400 pages) n'est pas simplement un énième guide sur PHP, mais une plongée approfondie dans la méthodologie de conception orientée domaine (DDD) appliquée au développement web en PHP. Contrairement aux livres classiques d'Eric Evans ou de Vaughn Vernon, qui décrivent le DDD en termes abstraits, cet ouvrage propose des modèles concrets et prêts à l'emploi ainsi que des exemples de code en PHP. Il s'adresse aux développeurs qui connaissent déjà les bases de PHP et souhaitent passer au niveau supérieur – la création d'applications métier complexes, maintenables et évolutives.

De quoi parle ce livre ?

Le livre aborde de manière séquentielle tous les concepts clés du DDD : des blocs de construction de base (Entity, Value Object, Aggregate, Repository, Domain Service) aux techniques avancées telles que CQRS (Command Query Responsibility Segregation) et Event Sourcing. Chaque chapitre contient non seulement une explication théorique, mais aussi des exemples pratiques en PHP, immédiatement applicables dans des projets réels. Une attention particulière est accordée à l'organisation du code, au travail avec Doctrine ORM, à l'intégration avec Symfony et Laravel, ainsi qu'aux tests de la logique métier.

Principaux thèmes du livre :

  • Blocs de construction du DDD : Entity, Value Object, Aggregate, Repository, Factory, Domain Event.
  • Modélisation du domaine : comment identifier les contextes délimités (Bounded Context) et construire un langage omniprésent (Ubiquitous Language).
  • Infrastructure : implémentation de référentiels avec Doctrine, gestion des transactions, Unit of Work.
  • Modèles avancés : CQRS, Event Sourcing, Application Services, Domain Services.
  • Tests : tests unitaires des objets du domaine, tests d'intégration des référentiels, tests des commandes et des événements.
  • Intégration avec les frameworks : exemples pour Symfony et Laravel, configuration de l'injection de dépendances, configuration.

À qui s'adresse ce livre ?

Ce livre sera utile :

  • Aux développeurs PHP de niveau intermédiaire et avancé qui souhaitent maîtriser le DDD et l'appliquer dans leurs projets.
  • Aux architectes et chefs d'équipe qui conçoivent des systèmes métier complexes et cherchent des moyens de lutter contre le « Big Ball of Mud ».
  • Aux développeurs passant d'un style procédural ou MVC à une conception plus réfléchie du domaine métier.
  • À tous ceux qui ont déjà lu Evans ou Vernon mais souhaitent voir comment ces idées sont mises en œuvre en PHP avec des outils modernes (Composer, Doctrine, Symfony).

Que va apprendre le lecteur ?

Après avoir lu le livre, le lecteur sera capable de :

  • Distinguer clairement Entity et Value Object et comprendre quand utiliser chacun.
  • Concevoir des agrégats avec des limites de cohérence appropriées.
  • Implémenter des référentiels qui masquent les détails de stockage des données.
  • Appliquer les Domain Events pour un couplage faible entre les modules.
  • Mettre en œuvre CQRS pour séparer les commandes et les requêtes, simplifiant ainsi la mise à l'échelle.
  • Utiliser Event Sourcing pour un audit complet des changements d'état.
  • Écrire des tests qui vérifient précisément les règles métier, et non l'infrastructure.
  • Intégrer l'approche DDD avec les frameworks PHP populaires.

Points forts du livre

Le principal atout du livre est son orientation pratique. Les auteurs ne se contentent pas de répéter la théorie, ils montrent exactement comment écrire le code. Tous les exemples sont à jour avec les versions modernes de PHP (7.x), utilisent l'autoloading Composer, le typage, les traits et autres fonctionnalités du langage. Le livre contient de nombreux listings qui peuvent être copiés et adaptés à votre projet. Il convient de mentionner particulièrement les chapitres sur CQRS et Event Sourcing – ils sont rédigés de manière si accessible que même un débutant dans ces sujets pourra les compr

Recommendations