Calculette et design pattern

ou comment perdre les étudiants

a marqué ce sujet comme résolu.
Auteur du sujet

Bonjour, Je suis actuellement un cours de génie logiciel à l’université, et je rencontre passablement de problème pour la réalisation des travaux pratique, qui se font en JAVA. Voici les consignes du TP qui me pose tant de souci : "En se basant sur le code fourni calculatrice-gui.java), vous devez modéliser les fonctionnalités d’une calculatrice dans une classe Calculator. La classe Calculator doit s’appuyer sur 4 classes implémentant les quatre opérations classiques (/, *, - +) et une classe dédiée et incompatible avec les autres (signatures différentes) doit implémenter la fonction sinus. Les trois patterns suivants doivent être implémentés dans votre application: • Singleton: pour accéder à une instance unique de la classe Calculator • Observer: pour détecter les clicks sur les boutons et rafraichir la valeur affichée dans le résultat (champs en haut de la fenêtre) • Adapter: pour adapter la signature de la classe sinus avec les autres opérations classiques. " voici le code de base : http://paste.awesom.eu/snBE

Si une bonne âme, ou plusieurs, ont la gentillesse de prendre un peu de leur temps pour me faire progresser et me faire comprendre comment faire, je les remercie d’avance beaucoup :)

+0 -0
Auteur du sujet

salut, J’ai déjà pu lire ces références sur wikipédia mais j’arrive pas à les mettre en place dans mon cas. Est-ce que dans mon singleton, j’aurai des if pour chaque opération ? Comment prendre les deux nombres entrés en paramètre ? j’avoue que la je suis complètement perdue. Merci pour les réponse

+0 -0

Cette réponse a aidé l’auteur du sujet

Je dirais que tu vas avoir une interface Operations avec les 4 opérations de base.

Une classe Calculator, singleton (tu peux par exemple utiliser une enum singleton cf. le conseil donné dans le livre Effective Java de Joshua Bloch pour implémenter un singleton), qui implémente Operations.

Un GUIObserver "branché" sur la GUI qu’on t’a donnée, donc qui observe les clics sur "+", "/", "=", etc. En gros, tu devrais y retrouver des méthodes du genre onClickOnPlus, etc. Qui possède une référence vers ton singleton Calculator. Et qui possède en mémoire (en état, en fait), les valeurs saisies par l’utilisateur. (en fonction de ce qui t’est fourni dans l’objet GUI, sans avoir le code de la GUI, c’est complexe de définir la responsabilité de cet observer).

Au bon moment (à toi de voir quand… là encore on n’a pas le code c’est difficile de t’aider), ton observer va réagir et appeler la bonne opération dans le calculator pour obtenir le résultat, et mettre à jour la GUI pour l’afficher.

Happiness is a warm puppy

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte