Patrons comportementaux
Les patrons comportementaux s’occupent des algorithmes et de la répartition des responsabilités entre les objets.
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 CommandPrend 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 IteratorPermet de parcourir les éléments d’une collection sans révéler sa représentation interne (liste, pile, arbre, etc.).
Médiateur MediatorPermet 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 MementoPermet 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 ObserverPermet 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 StateModifie le comportement d’un objet lorsque son état interne change. L’objet donne l’impression qu’il change de classe.
Stratégie StrategyPermet 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 MethodPermet 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 VisitorPermet de séparer les algorithmes et les objets sur lesquels ils opèrent.