Gang of Four résume la différence entre méthode Modèle et stratégie comme suit:Utilisation de la méthode modèle et stratégie ensemble
méthodes de modèle utiliser l'héritage pour modifier une partie d'un algorithme. Les stratégies utilisent la délégation pour faire varier l'algorithme entier.
Quels sont les scénarios où combinant deux modèles seraient justifiés et comment leur relation ressemblerait?
Un exemple trivial impliquerait de déléguer à Strategy dans les méthodes hook d'une méthode Template, cependant, je ne peux pas penser à une bonne justification pour une telle conception. De plus, au lieu de déléguer à la sous-classe, il est possible de déléguer directement à la stratégie. Mais alors, sans héritage, nous ne pouvons pas du tout parler de Template Method.
Je pense que cette question est trop large pour avoir une réponse correcte ou incorrecte. – jaco0646
Il y a beaucoup de questions sur les motifs de conception sur Stack. La plupart d'entre eux posent des questions sur les différences et les scénarios dans lesquels il faut choisir entre un certain nombre de modèles. Je demande un exemple où ils peuvent être combinés ensemble. Je pense que c'est une demande assez précise. – Siegmeyer
Vous mentionnez que ce serait un exemple trivial serait de déléguer à la stratégie dans les méthodes de crochet d'une méthode de modèle et ma réponse serait ce qui ne va pas avec cela. En ce qui concerne la justification de la combinaison, l'utilisation correcte des modèles dépend du contexte dans lequel ils sont utilisés. Comme il n'y a pas de contexte dans la question une réponse serait hypothétique: hypothétiquement, je ne vois rien de mal à combiner les deux modèles ensemble –