Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Pattern Strategy
Le pattern Strategy permet de changer d'algorithme a la volee, comme quand tu changes de vitesse en voiture. Le moteur tourne toujours, mais la vitesse change le comportement.
L'idee : tu as un objet principal (le contexte) qui delegue un travail a un objet stratégie. Tu peux changer la stratégie a tout moment sans modifier le contexte.
C'est different de l'héritage : au lieu de créer une sous-classe pour chaque variante, tu composes ton objet avec la stratégie dont tu as besoin.
Implemente le pattern Strategy pour trier une liste : - TriCroissant : méthode trier(liste) retourne la liste triee en ordre croissant - TriDecroissant : tri en ordre decroissant - TriAbsolu : tri par valeur absolue - Trieur(stratégie) : utilise la stratégie avec sa méthode trier(liste)
La stratégie peut etre changee a la volee : t = Trieur(TriCroissant()) t.trier([3, 1, 2]) # [1, 2, 3] t.stratégie = TriDecroissant() t.trier([3, 1, 2]) # [3, 2, 1]