L’État est un patron de conception comportemental qui permet à un objet de modifier son comportement lorsque son état interne change.
Ce patron extrait les comportements liés aux états dans des classes séparées et force l’objet original à déléguer les tâches à une instance de ces classes, au lieu de le faire lui-même.
Exemples d’utilisation : L’état est parfois utilisé en PHP pour transformer des automates finis trop encombrants reposant sur des opérateurs switch, en objets.
Identification : L’état peut être reconnu grâce à des méthodes contrôlées depuis l’extérieur, qui modifient leur comportement en fonction de l’état des objets.
Exemple conceptuel
Dans cet exemple, nous allons voir la structure de l’État et répondre aux questions suivantes :
Que contiennent les classes ?
Quels rôles jouent-elles ?
Comment les éléments du patron sont-ils reliés ?
Après avoir étudié la structure du patron, vous pourrez plus facilement comprendre l’exemple suivant qui est basé sur un cas d’utilisation réel en PHP.
index.php: Exemple conceptuel
Output.txt: Résultat de l’exécution
Analogie du monde réel
Bien que le concept des automates finis et le patron de conception état soient très populaires auprès des développeurs, je n’ai pas vraiment d’exemple réel en PHP à vous présenter.
Si vous avez déjà utilisé ce patron dans un de vos projets, n’hésitez pas à partager votre expérience sur le forum ou par e-mail support@refactoring.guru. Merci !