LaDissertation.com - Dissertations, fiches de lectures, exemples du BAC
Recherche

Programmation de design patterns

Cours : Programmation de design patterns. Recherche parmi 298 000+ dissertations

Par   •  6 Août 2017  •  Cours  •  466 Mots (2 Pages)  •  675 Vues

Page 1 sur 2

Laboratoire sur les design patterns

Automne 2013

Olivier Dugas

Thème du laboratoire 

Le laboratoire porte sur l’insertion de patrons de conception dans une application de location de films. Le système permet :

  • d’ajouter une nouvelle location de film, ou
  • d’imprimer l’état de compte d’un client.

Les classes du système sont :

  • Movie : la description d’un film. Les différents types de films sont : nouveauté, régulier ou familial.
  • Rental : la location d’un film comportant la durée de la location.
  • Customer : le dossier d’un client. Cette classe contient toutes les locations du client. Un client peut avoir des privilèges et ceci est indiqué par un code particulier. Les clients accumulent des points bonis (Renter Points) :
  • Un point est attribué pour chaque location.
  • Un autre point est attribué pour chaque location d’une nouveauté pour plus d’une journée.
  • MovieRentalConsoleInterface : Cette classe comporte une routine qui interagit avec l’usager pour l’ajout d’une location de film ou pour imprimer l’état de compte d’un client.
  • MovieRentalSystemMain : La classe principale du système qui :
  1. lit dans des fichiers les descriptions de films, de clients et de locations; et
  2. démarre le système.

  1. Singleton
  • Créez une classe (ConfigManager) pour gérer la configuration du système de location de films à partir du pattern Singleton.
  • Cette classe doit ouvrir le fichier RentalMovieConfig.txt, et charger les constantes.
  • Vous pouvez utiliser la classe Properties de Java :

Properties properties = new Properties();

properties.load(fileName)

properties.getProperty(key)

  • Faites un refactoring du code pour remplacer les constantes par des appels au gestionnaire de configuration (par ex. : dans la méthode statement()).

  1. Factory Method

  • Effectuer un refactoring de votre code pour ajouter une hiérarchie de clients. Les spécialisations de clients sont les clients standards et les VIPs.

[pic 1]

Figure 1 – Hiérarchie de clients

  • Maintenant, seulement les clients VIP accumulent des points bonis (Renter Points).  
  • Utiliser le patron Factory Method pour charger les clients du fichier Clients.txt.
  • Note : je vous encourage à refactoriser le code afin d’en améliorer la qualité.

  1. Façade
  • Créez une façade pour découpler les classes du système des appels effectués par l’interface usager.  
  • La façade doit offrir à l’interface les services pour qu’elle fonctionne. Mais l’interface ne devrait pas connaître ce qui est offert par les classes Customer, Movie et Rental.

[pic 2]

Figure 2 – Ajout d’une façade

  1. Visiteur
  • Le patron visiteur permet d’ajouter des fonctionnalités à des classes sans les modifier.
  • Utilisez des visiteurs afin de parcourir l’ensemble des clients pour cumuler les statistiques suivantes :
  • Le nombre de clients VIP et le nombre de clients standards.
  • La moyenne de durée de location d’un film.
  • La moyenne des Renter Points.

...

Télécharger au format  txt (3.1 Kb)   pdf (142.1 Kb)   docx (763.9 Kb)  
Voir 1 page de plus »
Uniquement disponible sur LaDissertation.com