Vous êtes sur la page 1sur 25

Les Patterns de

Création
Réalisé par : Encadré par :
• Nouhayla CHADDAD
• Mohamed Amine • M. Mohamed El AMRANI
BENABDALLAH

Année universitaire 2023/2024


PLAN

01 03
Introduction Abstract
Factory

02 04
Factory Conclusion
Method
01
Introduction
Définition

Les patterns de création sont des modèles de conception qui fournissent


des solutions pour créer des objets dans une application logicielle de
manière flexible, efficace et réutilisable. Ces patterns abstraient le
processus de création d'objets et permettent de masquer les détails de
mise en œuvre spécifiques, favorisant ainsi une conception modulaire et
adaptable.
Importance de la création d'objets dans la
conception logicielle :
Abstraction et Flexibilité et
modélisation du Réutilisabilité du code adaptation aux
monde réel changements
Les objets permettent de En encapsulant du code La création d'objets
représenter des entités et des données dans permet de créer des
du monde réel ou des des objets, il devient instances avec
concepts abstraits, possible de réutiliser ces différentes
facilitant ainsi la éléments dans configurations ou états,
modélisation des différentes parties de rendant ainsi le système
systèmes logiciels. l'application, favorisant flexible et adaptable aux
ainsi la modularité et la évolutions des besoins
maintenance du code. et des exigences.
02
Factory Method
Définition :
Le Factory Method Pattern est un modèle de conception qui offre
une façon flexible de créer des objets. Plutôt que de créer
directement les objets dans une classe, on définit une méthode
spéciale appelée "méthode de fabrique". Cette méthode est utilisée
pour créer les objets. Les sous-classes peuvent alors remplacer
cette méthode pour créer différents types d'objets selon leurs
besoins. En résumé, le Factory Method Pattern permet de déléguer
la création d'objets à des sous-classes, offrant ainsi une flexibilité
dans la création des objets.
Problématique : (situation => DEV GAMES)

Comment créer un système flexible et


extensible pour la création de différents types
de personnages dans un jeu vidéo, tout en
permettant l'ajout de nouveaux types de
personnages sans modifier le code existant ?
Solution :

Le Factory Method Pattern permet de créer un système flexible


et extensible pour la création de différents types de personnages
dans un jeu vidéo. Chaque type de personnage a sa propre
méthode de fabrication dans une classe dérivée, ce qui simplifie
l'ajout de nouveaux types de personnages en créant de nouvelles
classes de fabrication.
GOOD
CODE :
BAD
CODE :
Avantages :

● Encapsulation de la création d'objets : Le Factory Method encapsule la


logique de création d'objets dans des classes séparées, offrant une abstraction
claire et permettant de cacher les détails de création aux clients utilisant les
objets.

● Centralisation de la logique de création : La logique de création des objets est


centralisée dans des classes de fabrique dédiées, facilitant la gestion et la
maintenance du code.
Inconvénients :

● Complexité accrue : L'ajout de nouvelles classes de fabrique et de nouvelles


sous-classes peut augmenter la complexité de la hiérarchie de classes, surtout
si les différentes classes de produit nécessitent des logiques de création
différentes.

● Surutilisation du pattern : Trop utiliser le pattern Factory Method peut


compliquer le code sans nécessité, rendant ainsi la maintenance difficile. Il est
donc important de l'appliquer uniquement lorsque c'est vraiment nécessaire.
03
Abstract Factory
Définition

L'Abstract Factory est un patron de conception de logiciel


appartenant à la catégorie des "patterns de création". Il fournit une
interface pour créer des familles d'objets liés ou dépendants sans
spécifier leurs classes concrètes. En d'autres termes, il permet de
créer des ensembles d'objets connexes sans connaître les détails de
leur implémentation, ce qui rend le code plus flexible et modulaire.
Problème

Pouvoir créer dynamiquement des familles d'objets


apparentés (des instances d'une même classe).Reporter
certaines décisions jusqu'à la phase d'exécution (par
exemple, le choix d'une classe concrète pour réaliser
une interface donnée).
Solution

 Définir des interfaces pour chaque produit de la famille de


produits. Toutes les autres variantes de produits peuvent ensuite se
servir de ces interfaces.
 Définir une interface pour la fabrique abstraite contenant une liste
de méthodes de création pour toutes les familles de produits.
 Définir une classe fabrique pour chaque variante d'une famille de
produits, qui retourne un certain type de produits et qui
implémente l'interface fabrique abstraite.
Factory Method Abstract Factory
Code
Avantages Inconvénients

Encapsuler la création d'objets Changement de la fabrique


abstraite et toutes les sous-
classes dans le cas d'ajout d'une
nouvelle famille d'objets.
Favoriser la cohérence entre les
familles d'objets car il garantit que
si une famille d'objets est conçue La super-usine de l'Abstract
pour fonctionner ensemble, Factory (interface ou classe
l'application utilise les objets abstraite) fixe les familles d'objets
d'une famille à la fois. qui peuvent être créées.

Éviter le couplage étroit entre les


produits concrets et le code client.
Conclusion
MERCI POUR VOTRE
ATTENTION

Vous aimerez peut-être aussi