JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
Module development Patterns de Création.pptx
1. Les Patterns de
Création
Encadré par :
• M. Mohamed El AMRANI
Réalisé par :
• Nouhayla CHADDAD
• Mohamed Amine
BENABDALLAH
Année universitaire 2023/2024
4. 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.
5. Importance de la création d'objets dans la
conception logicielle :
Abstraction et
modélisation du
monde réel
• Les objets permettent
de représenter des
entités du monde réel
ou des concepts
abstraits, facilitant ainsi
la modélisation des
systèmes logiciels.
Réutilisabilité du code
• En encapsulant du
code et des données
dans des objets, il
devient possible de
réutiliser ces éléments
dans différentes parties
de l'application,
favorisant ainsi la
modularité et la
maintenance du code.
Flexibilité et
adaptation aux
changements
• La création d'objets
permet de créer des
instances avec
différentes
configurations ou états,
rendant ainsi le
système flexible et
adaptable aux
évolutions des besoins
et des exigences.
7. 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.
8. 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 ?
9. 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.
12. Avantages :
● Encapsulation de la création d'objets : Le Factory Method
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
est centralisée dans des classes de fabrique dédiées, facilitant la
gestion et la maintenance du code.
13. 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
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.
difficile. Il est donc important de l'appliquer uniquement lorsque c'est
c'est vraiment nécessaire.
15. 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.
16. 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).
17. 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.
24. Avantages
Encapsuler la création d'objets
Favoriser la cohérence entre les
familles d'objets car il garantit que
si une famille d'objets est conçue
pour fonctionner ensemble,
l'application utilise les objets
d'une famille à la fois.
Éviter le couplage étroit entre les
produits concrets et le code client.
Inconvénients
Changement de la fabrique
abstraite et toutes les sous-
classes dans le cas d'ajout d'une
nouvelle famille d'objets.
La super-usine de l'Abstract
Factory (interface ou classe
abstraite) fixe les familles d'objets
qui peuvent être créées.