Votre application doit
permettre à une standardiste de l'hopital de
saisir de nouveau
Rendez Vous dans les différents services de l'hopital
lister les Rendez
Vous d'un service ou pour un patient donné
annuler un Rendez
Vous
Un peu de révisions
: héritage, variables statiques, etc.
(1ère semaine)
Les rendez-vous
Question 1 : définir la classe RendezVousDes rendez-vous plus spécifiques
Remarques
Si vous avez une autre architecture à proposer qui réponde aux fonctionnalités requises, libre à vous de l'implémenter et de la justifier lors de la démo.
La classe Calendar
est une classe standard de Java qui permet de gérer des dates complexes,
utilisez la de façon simple pour faciliter le formattage de l'affichage
d'une date. si vous choisissez une autre représentation des dates,
à vous de la justifier lors de la démo.
Les agendas
Un agenda Hospitalier
contient les rendez-vous par service.
Il est nécessaire
d'accéder rapidement à un rendez-vous donné
De plus l’hopital
souhaite avoir un suivi des rendez-vous annulés.
Dans ce contexte nous
vous demandons de regarder au moins les classes et interfaces Java
suivantes : HashTable, Stack, List, Collection, SortedMap, TreeMap afin
de vous faire un avis précis sur les apports de chaque type de données.
Vous choisirez le
type de données qui vous parait le plus adapté à vos
besoins et justifierez votre choix.
Remarques
Cette partie doit vous
permettre de vous familiariser avec les classes de structure de données
proposées dans Java.
Si vous avez terminé
une implémentation des rendez vous pris lors de la première
selmaine, à vous de choisir la structure de données
adaptée aux rendez vous annulés.
Cette partie n'implique
pas la création d'une classe Agenda, à vous de déterminer
où les structures de données doivent être placées
au mieux.
L’hopital souhaite sauvegarder sur Fichier les rendez vous annulés ou enregistrés à votre guise
Les Classes standards à manipuler :
Pour la sauvegarde sur fichier : Regarder les classes File, FileReader, FileWriter, FileInputStream, FileOutputStream
crée un rendez vous,Expérimentez les 3 approches suivantes, sauvegarde de :
l'affiche,
le sauvegarde dans un fichier,
le relis et
l'affiche à nouveau.
une chaine de caractères : le "toString" du rendez vous
un après l'autre les éléments de l'instance
l'objet dans sa totalité
Remarques
Cette partie doit vous
permettre de vous familiariser avec les E/S fichiers, sacahant que tous
les modèles d'entrées/sorties (réseau, écran)
reposent sur le même principe.
Vous devez pouvoir
recharger une liste de Rendez Vous.
Faire
une IHM simple qui permette la prise et l'annulation de rendez vous.
De plus on souhaite
à chaque prise de rdv ou annulation de rendez vous être automatiquement
informé sur une interface graphique de suivi des rendez vous.
Pour faire des interfaces graphiques, il est important de bien utiliser :
On va décomposer le problème en faisant de petits exercices. de chacun de ces points
Programmation par événements
Ce type de programmation permet de conserver une indépendance forte entre l'objet graphique et l'objet d'implémentation ce qui permet de facilement modifier la partie graphique sans remettre en cause la logique de l'application.
Exo 1 : mise en oeuvre du pattern Observer/Observable
Soit
une classe qui observe un rendez vous et qui affiche en texte les changements
d'horaire d'un rendez vous pris.
Définir
un bouton dont l'action du click entraîne l'affichage du rendez vous
par défaut dans un label.
Comparez la souplesse
des deux solutions. Une
bibliothèque ça ne s'apprend pas ça s'expérimente...
Vous
en avez déjà fait. Mais oui ! Mais oui ! Souvenez vous, il
fallait remplir un drôle de fichier lors du
TP
sur les objets...
La
programmation par objets c'est bientôt dépassé la programmation
par composants devient le top et tout ça à cause des Java
Beans
Grace
à l'achitecture des observer/observables vous pourrez facilement
ajouter de nouveaux observeurs pour signaler de façons différentes
les mise à jour.
une classe pour le
bouton, une classe pour le label, une interface de BoutonListener, un évenement
spécifique et une classe de Test.
Comme dans l'exercice
précédent testez l'ajout de listeners.
Cette semaine doit vous permettre de terminer l'application.