Design Pattern : Stratégie © Dany VAZ LI386-S1 Génie Logiciel – UPMC Cours : Design Pattern : Stratégie
Design Pattern : Stratégie • But Permutation dynamiquement des algorithmes utilisés dans une application • Utilisation Dès lors qu'un objet peut effectuer plusieurs traitements différents, dépendant d'une variable ou d'un état. • Exemple (geek ^^) Z - Army © Dany VAZ LI386-S1 Génie Logiciel – UPMC Cours : Design Pattern : Stratégie
Exemple : Z-Army © Dany VAZ LI386-S1 Génie Logiciel – UPMC Cours : Design Pattern : Stratégie
Exemple : Z-Army Problèmes A chaque modification de comportement des personnages, on est obligés de modifier le code source de la classe concernée ! Duplication du code © Dany VAZ LI386-S1 Génie Logiciel – UPMC Cours : Design Pattern : Stratégie
Exemple : Z-Army Les personnages feront des choses différentes. le guerrier devra pouvoir utiliser un couteau, un pistolet ou un fusil de sniper le sniper peut utiliser son fusil de sniper mais aussi un fusil à pompe le médecin a une trousse simple pour soigner mais peut utiliser un pistolet le chirurgien a une grosse trousse médicale mais ne peut pas utiliser d'arme le civil, quant à lui, peut utiliser un couteau seulement © Dany VAZ LI386-S1 Génie Logiciel – UPMC Cours : Design Pattern : Stratégie
Solution : DP Stratégie © Dany VAZ LI386-S1 Génie Logiciel – UPMC Cours : Design Pattern : Stratégie
Diagramme de classes © Dany VAZ LI386-S1 Génie Logiciel – UPMC Cours : Design Pattern : Stratégie
Code java Z-Army © Dany VAZ LI386-S1 Génie Logiciel – UPMC Cours : Design Pattern : Stratégie
Interface: SOIN © Dany VAZ LI386-S1 Génie Logiciel – UPMC Cours : Design Pattern : Stratégie
Interface: EspritCombatif © Dany VAZ LI386-S1 Génie Logiciel – UPMC Cours : Design Pattern : Stratégie
Classe Guerrier & Médecin © Dany VAZ LI386-S1 Génie Logiciel – UPMC Cours : Design Pattern : Stratégie