Critique : Guide to PHP Design Patterns

Je vous avais parlé jadis de ce livre publié par php|architect’s et écrit par Jason E. Sweat. Cet ouvrage de plus de 300 pages (comptant les annexes) nous initie aux Design Patterns aussi bien en PHP4 qu’en PHP5. Pour ce faire, l’auteur nous montre comment intégrer les Design Patterns à nos développement en nous montrant un exemple pour chacun [ou deux si l’implémentation se fait différemment entre PHP4 et 5].

Pour reprendre les mots de l’auteur, celui-ci a écrit le livre dans le but d’apprendre lui-même les Design Pattersn. Non pas qu’il ne les connaissait pas, mais il voulait démêler le tout dans sa tête en écrivant un ouvrage y étant consacré. Cela n’enlève rien au livre. Au contraire, il nous offre en prime son expérience acquise en développant en PHP.

Le livre est divisé en 18 chapitres, moins l’introduction et la conclusion, pour un total de 16 patterns expliqués en théorie et en pratique. Jason commence d’abord par nous expliquer un principe presque fondamental de la programmation (du moins avec Agile) : le Unit Testing. En effet, chaque morceau de code est accompagné d’un jeu de test (SimpleTest dans ce cas-ci) ce qui ajoute, selon moi, de la crédibilité, un degré de formation supplémentaire et une ouverture plus grande lorsqu’on termine le livre. Les chapitres sont biens écrits, c’est-à-dire que chacun suit un ordre précis. On présente d’abord un scénario général que subi ou subira probablement un programmeur au cours de sa carrière, on défini un problème et on explique en mots une solution générique, soit la description de ce qu’accompli le pattern. Ensuite vient le code.

Design patterns couverts :

  • Value Object
  • Factory
  • Singleton
  • Registry
  • MockObject
  • Strategy
  • Iterator
  • Observer
  • Specification
  • Proxy
  • Decorator
  • Adapter
  • Active Record
  • Table Data Gateway
  • Data Mapper
  • Model-View-Controller

Au fur et à mesure qu’on avance dans le livre, les chapitres augmentent en difficulté. Non pas qu’il est de plus en plus dur de comprendre, mais il serait facile pour un débutant en PHP et/ou programmation de se perdre s’il commençait par le dernier chapitre (MVC). Ce qui est plaisant aussi, c’est de découvrir de nouvelles fonctionnalités de test tout au long du livre en plus de l’annexe B qui porte sur SimpleTest seulement.

En plus de nous offrir ceci, l’auteur fait mention de quelques autres pattersn (nottament le Front Controller) et d’autres ouvrages (comme PoEAA de Martin Fowler) pour réveiller notre appétit et, peut-être, chercher à en connaître plus de notre côté.

Ce que j’ai apprécié : en gros, tout ce qui a été dit jusqu’ici.
Ce que j’ai moins aimé : je ne peux mettre le doigt dessus, mais bon, rien n’est parfait. Ce livre ne l’est pas.

Note : 8.5/10

Je recommande ce livre à tous ceux et celles qui veulent s’initier soit aux Design Patterns, soit aux Design Patterns en PHP. C’est un bon ouvrage qui mérite qu’on le garde dans notre librairie personnelle ou notre disque dur. Il est disponible en téléchargement au format PDF et en version imprimé (aux dernières nouvelles). Avis à ceux qui n’aime pas lire un livre au complet sur écran ou sur papier !

  • Stéphane Leclerc

    Cool mek 😉 va falloir tum passe le livre lolll 😛

    Tchow !!