Patrons comportementaux
Les patrons comportementaux s’occupent des algorithmes et de la répartition des responsabilités entre les objets.
Chaîne de responsabilité
Chain of Responsibility
Permet de faire circuler une demande dans une chaîne de handlers. Lorsqu'un handler reçoit une demande, il décide de la traiter ou de l’envoyer au handler suivant de la chaîne.
Commande
Command
Prend une action à effectuer et la transforme en un objet autonome qui contient tous les détails de cette action. Cette transformation permet de paramétrer des méthodes avec différentes actions, planifier leur exécution, les mettre dans une file d’attente ou d’annuler des opérations effectuées.
Itérateur
Iterator
Permet de parcourir les éléments d’une collection sans révéler sa représentation interne (liste, pile, arbre, etc.).
Médiateur
Mediator
Permet de diminuer les dépendances chaotiques entre les objets. Ce patron restreint les communications directes entre les objets et les force à collaborer uniquement via un objet médiateur.
Mémento
Memento
Permet de sauvegarder et de rétablir l'état précédent d’un objet sans révéler les détails de son implémentation.
Observateur
Observer
Permet de mettre en place un mécanisme de souscription pour envoyer des notifications à plusieurs objets, au sujet d’événements concernant les objets qu’ils observent.
État
State
Modifie le comportement d’un objet lorsque son état interne change. L’objet donne l’impression qu’il change de classe.
Stratégie
Strategy
Permet de définir une famille d’algorithmes, de les mettre dans des classes séparées et de rendre leurs objets interchangeables.
Patron de méthode
Template Method
Permet de mettre le squelette d’un algorithme dans la classe mère, mais laisse les sous-classes redéfinir certaines étapes de l’algorithme sans changer sa structure.
Visiteur
Visitor
Permet de séparer les algorithmes et les objets sur lesquels ils opèrent.