TD 4 : Design Pattern
Exercice 1 : Singleton
Implémentez dans un milieu bancaire le pattern singleton. Tout d’abord vous allez concevoir
une classe CompteBancaire qui permet de déposer ou retirer de l’argent sur un compte. Vous
allez afficher les opérations effectuées dans la console. Pour cela, vous allez implémenter une
classe distincte nommée Journalisation reprenant le pattern Singleton. Ainsi nous allons
garantir que notre programme va utiliser une seule et même instance de la classe Journalisation.
Une troisième classe intitulée Main permettra d’exécuter l’application et d’obtenir un résultat
en console.
1. Spécifier l’attribut et les méthodes nécessaires afin que la classe Journalisation soit basée sur
le pattern Singleton. Elle possède aussi deux méthodes, ajouterLog(string) qui permet d'ajouter
un message de log et getLog() qui retourne tous les messages de log.
2. La classe CompteBancaire correspond à un compte. Celui-ci possède un numéro (identifiant)
et un solde. Il est possible de déposer de l’argent ou d’en retirer grâce aux méthodes
deposerArgent(double) et retirerArgent(double). Ces deux dernières méthodes utilisent la
classe Journalisation pour tracer les opérations.
3. La classe Main est la classe principale de notre programme. Elle va permettre d’exécuter un
exemple et d’afficher son résultat en sortie. En effet, sur le compte numéro 123 on va déposer
100 DA et retirer 80 DA. Puis sur le compte 321 on va déposer 200 DA et retirer 110DA.
Corrigé
Exercice 2 : Composite
Ecrire un pattern composite qui permet de composer des fichiers et des répertoires.
Pour cela :
1) Ecrire l’interface «AbstractFile».
2) Ecrire une classe «Fichier» qui implémente «AbstractFile».
3) Ecrire classe « Repertoire » qui implémente aussi AbstractFile et qui possède un attribut files
de type « ArrayList », contenant tous les «AbstractFile» du répertoire.
4) Ecrire une classe Retrait qui permettra des retraits selon le niveau du fichier ou du répertoire.
5) Ecrire un programme « Program », créant 5 « Fichier », et 3 « Repertoire » tels que :
Et en ayant l’affichage suivant après son exécution :
Corrigé