Design Patterns - Stratégie
1 h
Niveau 10
Le modèle de stratégie est un type de modèle comportemental. L'objectif principal du modèle de stratégie est de permettre au client de choisir parmi différents algorithmes ou procédures pour accomplir la tâche spécifiée. Il est possible d'intervertir différents algorithmes sans aucune complication pour la tâche mentionnée.
Ce modèle peut être utilisé pour améliorer la flexibilité lors de l'accès à des ressources externes.
Comment mettre en œuvre le modèle de stratégie ?
Le programme ci-dessous permet de mettre en œuvre le modèle de stratégie.
import types
class StrategyExample:
def __init__(self, func = None):
self.name = 'Strategy Example 0'
if func is not None:
self.execute = types.MethodType(func, self)
def execute(self):
print(self.name)
def execute_replacement1(self):
print(self.name + 'from execute 1')
def execute_replacement2(self):
print(self.name + 'from execute 2')
if __name__ == '__main__':
strat0 = StrategyExample()
strat1 = StrategyExample(execute_replacement1)
strat1.name = 'Strategy Example 1'
strat2 = StrategyExample(execute_replacement2)
strat2.name = 'Strategy Example 2'
strat0.execute()
strat1.execute()
strat2.execute()
Résultat
Le programme ci-dessus génère la réponse suivante :
Strategy Example 0
Strategy Example 1from execute 1
Strategy Example 2from execute 2
Explication
Besoin d'aide ?
Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !