Exercices Design Patterns - Java Avancé
Exercice 1 : Command Pattern - Système de Télécommande
Contexte :
On veut simuler une télécommande qui peut allumer ou éteindre différents appareils (ex : lampe, télévision).
Travail demandé :
- Créer une interface Commande avec une méthode executer().
- Créer des classes concrètes AllumerLampe, EteindreLampe, AllumerTV, EteindreTV.
- Créer une classe Telecommande qui peut recevoir une commande et l'exécuter.
- Tester l'exécution de plusieurs commandes.
À produire :
- Diagramme UML des classes.
- Code Java complet.
Exercice 2 : Strategy Pattern - Calculateur d'Opérations
Contexte :
On veut un système qui effectue différents calculs (addition, soustraction, multiplication, division)
dynamiquement.
Travail demandé :
- Créer une interface OperationStrategy avec une méthode executer(int a, int b).
- Créer les stratégies concrètes : Addition, Soustraction, Multiplication, Division.
- Créer un Calculateur qui peut changer d'opération à la volée.
- Tester le calculateur avec différentes stratégies.
À produire :
- Diagramme UML des classes.
- Code Java complet.
Exercice 3 : Observer Pattern - Application de Météo
Exercices Design Patterns - Java Avancé
Contexte :
On veut développer un système où différentes applications (ex : appli mobile, site web) s'abonnent à une
station météo pour recevoir les mises à jour de température.
Travail demandé :
- Créer une interface Observateur avec une méthode mettreAJour(float temperature).
- Créer une interface Sujet avec des méthodes ajouterObservateur, retirerObservateur, notifierObservateurs.
- Créer StationMeteo qui implémente Sujet.
- Créer deux classes d'observateurs : ApplicationMobile et SiteWeb.
- Simuler l'ajout d'observateurs et la notification d'un changement de température.
À produire :
- Diagramme UML des classes.
- Code Java complet.
Exercice 4 : Interpreter Pattern - Analyseur d'Expressions Logiques
Contexte :
On veut créer un mini système qui interprète des expressions logiques simples (exemple : "Vrai ET Faux" ->
donne Faux).
Travail demandé :
- Créer une interface Expression avec une méthode interpreter().
- Créer des classes concrètes : Vrai, Faux, EtExpression, OuExpression.
- Construire un petit arbre d'expressions et interpréter son résultat.
Exemple d'expression :
(Vrai ET Faux) OU Vrai -> Résultat : Vrai
À produire :
- Diagramme UML des classes.
- Code Java complet.