Approche Objet - Master 1 Informatique :

TD Design Patterns

Design Pattern

Exercice noté

Cet exercice fait l'objet d'une partie du CC de l'UE. Vous rendrez à l'issue des séances de TDs sur les Design Patterns, un rapport écrit en latex qui explique vos réalisations et le code java associé.

Sujet

Votre mission, si vous l'acceptez, est cette fois de modéliser une boulangerie-patisserie et de proposer une architecture avec un ensemble de classes et des design patterns.
Pour la première étape vous construirez les classes :
  • Boulangerie, Gateaux, Patissier, Ingrédients auxquelles vous ajouterez toutes classes qui vous sembleront utiles.
Vous devrez ensuite implémenter la fabrication des gateaux suivants :
  • Choux à la crème vanille ou chocolat, avec ou sans chantilly, avec ou sans noisettes ou amandes grillées.
  • Tartes aux pommes ou aux abricots, avec ou sans meringue sur les fruits et avec ou sans noisettes ou amandes grillées.

Ajout des design patterns.

  1. Pour implémenter ces recettes vous utiliserez le design pattern Decorator
  2. Vous réaliserez une deuxième version avec le design pattern Composite
Vous commenterez dans votre rapport la différence entre ces deux versions.

Ajouter le concept de recette

Vous allez désormais modèliser la capacité à faire des gateaux en suivant des recettes.

  1. A partir du code précédent, vous êtes libres de travailler sur la version Decorator ou Composite, proposer l'ajout du Design Pattern Builder pour conceptualiser la fabrication des gateaux, choux et tarte, si vous le désirez vous pourrez tester l'ajout d'une nouvelle recette afin de montrer l'intérêt de ce Design Pattern.
  2. Cette tâche aurait également pu être réalisée grâce au Design Pattern Factory, réalisez cette nouvelle version et expliquez dans votre rapport la différence entre ces deux solutions.

Ajouter la gestion de la boulangerie

Vous allez désormais modéliser la capacité à faire des gâteaux Pour achever ce travail sur la boulangerie, il vous faut prévoir de gérer la vente de vos gâteaux.
  1. Implémenter le Design Pattern Observer, qui peut-être un objet de type Vendeur, pour déclencher la fabrication d'une sorte de gateaux lorsque le nombre de gâteaux restant à la vente est inférieur à un seuil que vous avez fixé.