Type : | Co (Comportemental) |
Intention : | Définit, dans une opération, le squelette d'un algorithme, en en déléguant certaines étapes à des sous-classes. Le Patron de méthode permet de redéfinir par des sous-classes, certaines parties d'un algorithme, sans avoir à modifier la structure de ce dernier. |
Applicabilité : | Le Patron de méthode devrait être utilisé : - implémenter une fois pour toutes les parties invariantes d'un algorithme, et laisser aux sous-classes le soin d'implémenter les parties dont le comportement est conçu comme modifiable. - Lorsqu'il faut, pour éviter la duplication de code, isoler le facteur commun des comportements de sous-classes, et l'implémenter dans une classe commune. C'est un bon exemple de la technique de la « décomposition pour généralisation », telle que décrite par Opdyke et Johnson (« refactoring to generalize »). On identifie d'abord les différences dans le code existant, et on répartit ces différences dans de nouvelles opérations. Enfin, on remplace le code modifiable par un patron de méthodes, qui appelle celles des nouvelles opérations qui conviennent. - Pour le contrôle des extensions de sous-classes. On peut définir un Patron de méthodes qui présente en certains points spécifiques, des opérations socle, permettant ainsi des extensions à partir de ces seuls points. |