Voici la traduction d'un article de Pádraic Brady auteur du site web "patterns for Php". L'article original n'est plus accessible dans la mesure où le site n'est plus en ligne.
Il s'agit de la présentation d'un cas d'utilisation du design pattern strategy en PHP en prenant l'exemple d'un logger.
Le design pattern strategy définit un objet représentant un algorithme dédié à une tâche spécifique.
Dans une application orientée objet, lorsqu'une nouvelle tâche est identifiée, la réaction du programmeur est habituellement de créer une classe qui représente cette tâche. Cependant, il se peut que la classe évolue, ce qui génère de nombreuses sous-tâches, chacune d'elles rendant la tâche d'origine plus complexe. Parfois, ce type de sous-tâches peut avoir de nombreux rôles différents. Un exemple typique est une classe logger (1) dont le rôle est habituellement d'écrire un message dans un fichier. Dans un premier temps, cette classe pourrait être enrichie, permettant l'écriture sur de nombreuses autres cibles : fichier et base de données. L'ajout d'une fonctionnalité pourrait permettre au message en question d'être formaté de différentes façons : chaîne de caractères, XML, données sérialisées voire HTML.
Partager