Category Archives: Design Pattern

Le Design Pattern patron de méthode (Template Method) en PHP

Dans cet article nous allons aborder une autre prose de la programmation objet : le modèle de conception « Patron de méthode » (Template method).

Ce pattern (fréquemment utilisé dans les classes abstraites) propose de développer un algorithme basé sur des primitives que l’on trouvera uniquement dans les classes filles.

Dans notre exemple nous allons développer un système de validation de données basique qui met en avant ce modèle.

Les Design Patterns Singleton, Multiton et Alternatives en PHP

Récemment, j’ai exposé l’un des Modèles de Conception les plus répandu, le décrié Singleton. Décrié car comme souligné dans mon article précédent, le Singleton souffre de sa simplicité de compréhension et de mise en oeuvre qui incite à l’utiliser aveuglément.. Le billet propose de faire un point sur ce modèle de conception et ses alternatives, [...]

N’utilisez pas les Design Patterns en PHP

N’utilisez jamais les Modèles de Conception, mais connaissez-les, maîtrisez-les ! Sous ce titre accrocheur (désolé) se cache tout de même un vrai conseil qui découle d’expériences malheureuses de développeurs enthousiastes ayant voulu se faire la main après une formation aux Patterns…. avec souvent pour résultat une conception trop lourde pour les besoins réels. Ainsi, ne [...]

Le Design Pattern Stratégie (Strategy) en PHP

Continuons notre tour d’horizon des Modèles de Conception avec cette fois l’étude de la Stratégie, modèle qui vise à permettre le choix d’un algorithme dédié à une tâche particulière au moment de l’exécution. Dans l’exemple, nous allons utiliser l’autoloader universel réalisé précédemment pour lui adjoindre la possibilité de détecter les espaces de nom. J’en profite [...]

Le Design Pattern chaîne de responsabilités (Chain of Responsability) en PHP

La chaine de responsabilité est un Modèle de Conception qui adresse un problème de modularité, de couplage souple.

Ici, nous allons disposer d’une collection d’objet en mesure de traiter le problème, sans savoir à priori lequel sera le bon.