100% ont trouvé ce document utile (1 vote)
429 vues4 pages

TD Patterns

Ce document présente un exemple d'utilisation des patterns de conception Factory, AbstractFactory et Singleton à travers deux exercices. Le premier exercice montre l'application du pattern Factory pour la création d'objets de type Program. Le second exercice propose d'appliquer le pattern Factory puis AbstractFactory pour la gestion de véhicules fonctionnant à l'essence ou à l'électricité.

Transféré par

Brahim Ben Saada
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
429 vues4 pages

TD Patterns

Ce document présente un exemple d'utilisation des patterns de conception Factory, AbstractFactory et Singleton à travers deux exercices. Le premier exercice montre l'application du pattern Factory pour la création d'objets de type Program. Le second exercice propose d'appliquer le pattern Factory puis AbstractFactory pour la gestion de véhicules fonctionnant à l'essence ou à l'électricité.

Transféré par

Brahim Ben Saada
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 4

TD Les designs Patterns

TD n°1 Design Patterns

Factory, AbstractFactory et Singleton

But du TD
Comprendre les patterns de création par leurs mise en pratique

langage de développement: java

Exercice n°1:

Dans ce projet, on trouve deux classes :

 une classe Program1 qui se contente, lorsqu’on appelle go, d’afficher un


message (dans la réalité, un traitement particulier aurait lieu), et
 une classe Client qui appelle Program1.

Mme D.Hichri Page 1


TD Les designs Patterns

le diagramme de classe ressemble à ceci

1) On souhaite rajouter deux classes Program2 et Program3 à notre projet.


Ces classes afficheront à l’écran le même message que Program1, excepté
qu’elles y feront apparaître leur numéro de programme (2 ou 3).
Ajoutez ces classes (en dupliquant et modifiant le code de Program1).

Dans le client, on souhaite modifier le code des fonctions main pour que,
selon le paramètre entier qui leur est passé en argument (1, 2, ou 3), ces
dernières lancent le traitement du Program1, Program2 ou Program3.

Pouvez-vous réaliser cette fonctionnalité ?

Mme D.Hichri Page 2


TD Les designs Patterns

en codant de la bonne manière, le diagramme de classe que vous devriez


obtenir:

Qu'est que vous remarquez?(quels sont les problèmes posés par une
telle solution)
2) Appliquer le pattern Factory
Déléguer la création des objets de type Program à une classe dont le nom
sera ProgramFactory

 Elaborer le diagramme de classes répondant à ce besoin


 Donner le code des différentes entités participantes à la réalisation du
programme(classes, interfaces)
 Pouvez-vous ajouter un Program4 ? Cela a-t-il été compliqué à mettre
en place ? Avez-vous dû modifier le code du Client ?

Exercice n°2

Le système de vente de véhicules gère des véhicules fonctionnant à l’essence et des


véhicules fonctionnant à l’électricité.

Cette gestion est confiée à l’objet Catalogue qui crée de tels objets. Pour chaque
produit, nous disposons d’une classe abstraite, d’une sous-classe concrète décrivant

Mme D.Hichri Page 3


TD Les designs Patterns

la version du produit fonctionnant à l’essence et d’une sous-classe décrivant la


version du produit fonctionnant à l’électricité.

Questions

1) proposer une conception à ce problème en adoptant le pattern Factory

 donner le diagramme de classes tout en expliquent le rôle de chacune


des composantes
 implémenter la solution

2) On envisage d'ajouter de nouvelles familles de produits en l'occurrence des


Véhicules ainsi que des scooter Diesel
 Apporter les modifications nécessaires à la solution précédente afin
de répondre à ce besoin. Que remarquez-vous?
 Proposer une solution en utilisant le pattern Abstract-Factory.

Mme D.Hichri Page 4

Vous aimerez peut-être aussi