Vous êtes sur la page 1sur 2

EC726 Programmation avancee

TP 2 Application des concepts de larchitecture MVC


Jean-Yves Didier

Objectifs : outre les notions de programmation orientee objet, ce TP vous fera travailler les notions
suivantes :
Les exceptions pour detecter les situations derreur ;
Les heritages pour e tendre une classe existante ;
Les concepts associes a` larchitecture Mod`ele-Vue-Controleur.

1
1.1

Creation dun mod`ele


Creation dune classe Fraction

Pour comprendre les concepts de larchitecture Mod`ele-Vue-Controleur, et en particulier la separation


des sources et des donnees, nous allons commencer par creer une classe mettant en place un mod`ele
simple : une fraction.
Travail a` effectuer :
1. Creer une classe Fraction ;
2. Lui adjoindre deux attributs : numerator et denominator de type entier ;
3. Lui ajouter deux constructeurs :
Un constructeur par defaut initialisant le numerateur a` 0 et le denominateur a` 1 ;
Un constructeur permettant dinitialiser les attributs de la classe Fraction.
4. Ajoutez a` votre classe les accesseurs permettant de recuperer les valeurs de vos attributs et de
les modifier ;
5. Creer une classe de test comportant le point dentree principal du programme qui permet de
tester votre classe Fraction ;
6. Compiler et tester le programme obtenu.

1.2

Mise a` jour du mod`ele et detection des erreurs

Nous allons completer notre mod`ele. En effet, une fraction a aussi une valeur reelle qui lui est
associee. De plus, une fraction nest pas definie si le denominateur est nul.
Travail a` effectuer :
1. Ajouter a` votre classe Fraction un attribut value de type reel ;
2. Ajouter a` votre classe un accesseur permettant dobtenir value ;

3. Faites en sorte que votre classe recalcule la valeur de value chaque fois que le numerateur
et/ou le denominateur change ;
4. Une fraction nest pas definie si le denominateur est nul : faites en sorte que, chaque fois que
la classe Fraction est utilisee pour annuler le denominateur, une exception de type ArithmeticException avec le message denominator null ;
5. Ajoutez a` votre classe de test le necessaire pour pouvoir verifier le comportement de votre
classe Fraction modifiee ;
6. Compiler et tester le programme obtenu.

Creation dune vue

Nous allons creer une vue, cest a` dire une petite interface graphique permettant dentrer des
valeurs pour modifier notre fraction, puis de recuperer le resultat calcule.

F IGURE 1 Vue a` construire pour modifier une fraction et visualiser sa valeur reelle

Travail a` effectuer :
1. Creer une classe affichant une fenetre et derivant de la classe JFrame que lon appellera FractionView ;
2. Y ajouter des e lements de mani`ere a` obtenir un resultat comparable a` celui affiche a` limage
de la figure 1. Pour cela, on pourra sappuyer sur les e lements GridLayout, JLabel, JTextField
et JButton ;
3. Creer une classe de test permettant de verifier laspect visuel de la fenetre ;
4. Compiler et tester le programme obtenu.

Creation dun controleur

Le controleur aura pour role de detecter, dans un premier temps, les clics sur le bouton compute
et devra coupler la vue dun cote et le mod`ele de lautre.
Travail a` effectuer :
1. Creer une classe FractionControler capable de repondre aux clics sur le bouton compute ;
2. Lorsque cette classe traitera lev`enement associe au clic, elle devra :
Lire les valeurs des champs numerator et denominator de la vue ;
Injecter ces valeurs dans une fraction ;
Recuperer la valeur reelle de la fraction ;
Actualiser la valeur affiche par le champ value de la vue.
3. Doter votre classe FractionControler du construteur et des attributs necessaires a` son fonctionnement ;
4. Modifier la classe FractionView pour la coupler avec le controleur.
5. Creer une classe comprenant le point dentree principal du programme permettant dafficher
la vue et de tester les liens entre vue, mod`ele et controleur ;
6. Compiler et tester.
2

Vous aimerez peut-être aussi