Ce document contient le corrigé d'un TD sur les patterns de conception Factory, AbstractFactory et Singleton. Il présente deux exercices avec leur solution en appliquant ces patterns, et les diagrammes de classes associés. Le document explique comment ces patterns permettent d'éviter les duplications de code et de découpler les classes, et comment ils facilitent l'extensibilité de l'application.
0 évaluation0% ont trouvé ce document utile (0 vote)
966 vues5 pages
Ce document contient le corrigé d'un TD sur les patterns de conception Factory, AbstractFactory et Singleton. Il présente deux exercices avec leur solution en appliquant ces patterns, et les diagrammes de classes associés. Le document explique comment ces patterns permettent d'éviter les duplications de code et de découpler les classes, et comment ils facilitent l'extensibilité de l'application.
Ce document contient le corrigé d'un TD sur les patterns de conception Factory, AbstractFactory et Singleton. Il présente deux exercices avec leur solution en appliquant ces patterns, et les diagrammes de classes associés. Le document explique comment ces patterns permettent d'éviter les duplications de code et de découpler les classes, et comment ils facilitent l'extensibilité de l'application.
Ce document contient le corrigé d'un TD sur les patterns de conception Factory, AbstractFactory et Singleton. Il présente deux exercices avec leur solution en appliquant ces patterns, et les diagrammes de classes associés. Le document explique comment ces patterns permettent d'éviter les duplications de code et de découpler les classes, et comment ils facilitent l'extensibilité de l'application.
Téléchargez comme DOCX, PDF, TXT ou lisez en ligne sur Scribd
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 5
Corrigé TD Patterns
Corrigé TD1 Design Patterns
Factory, AbstractFactory et Singleton
Exercice n°1:
Si on applique pas le pattern Factory le code source de notre projet serait le
suivant:
Mme D.Hichri Page 1
Corrigé TD Patterns
Comme vous le remarquez il ya une duplication du code d'une part et un
couplage fort entre le client et l'autre partie du programme. au fait si on tente d'ajouter une autre classe program4 le client devrait être obligé de faire d'autres tests et de remettre en question son code de même s'il envisage de supprimer une classe program => contradiction avec les principes du génie logiciel et des critères de qualité d'un logiciel
Solution => Application du pattern Factory
2) Diagramme de classes:
Mme D.Hichri Page 2
Corrigé TD Patterns
un classe ProgramFactory qui se charge de la création des instances
le code de la classe client est le suivant:
Donc c'est seulement la classe ProgramFatory qui va subir des modifications si
on envisage de modifier ou de mettre à jour les constructeurs des classes program(i) => le client est à l'abri de toute modification en plus l'extension de l'application est plus facile
Mme D.Hichri Page 3
Corrigé TD Patterns
Exercice n°2:
1) Si on adopte le design pattern Factory, le diagramme de classes de la
solution sera le suivant:
2)On envisage d'ajouter une autre famille de produits : Diesel
a) si on adopte la solution Factory dans ce cas là l'ajout d'une nouvelle famille
de produits par exemple Diesel ceci va impliquer l'ajout d'une structure conditionnelle dans la classe Factory(si essence elif electrite elif diesel etc) ce qui va compliquer son code.
Cependant si on odopte le pattern AbstractFactory l'ajout de nouvelle famille
implique l'ajout d'une sous classe concreteFactory qui hérite de l'interface AbstarctFactory aucune modification de la classe cliente.