Nous avons choisi d'implémenter trois patrons de conceptions :
* State
* Builder
* Observer
Le pattern State nous a permis de mettre en évidence les différentes changements d'états de l'application et du jeu. Ce pattern nous a aidé à mettre en évidence plus facilement les différentes étapes du jeu.
Enfin, il permet d'indiquer aux joueurs/développeurs, où en est l'éxécution/le déroulé du jeu.
Le pattern Builder nous a été utile pour construire nos objets grâce à une structure prédéfinis pour chaque type de produit. Il nous a facilité la tâche concernant l'initialisation des objets et garantie une cohérence entre tous ceux du même type.