SlideShare une entreprise Scribd logo
1  sur  26
Les Patterns de
Création
Encadré par :
• M. Mohamed El AMRANI
Réalisé par :
• Nouhayla CHADDAD
• Mohamed Amine
BENABDALLAH
Année universitaire 2023/2024
PLAN
01
02
03
Introduction
Factory
Method
Abstract
Factory
04
Conclusion
Introduction
01
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
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.
Factory Method
02
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
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.
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.
Abstract Factory
03
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
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.
Conclusion
MERCI POUR VOTRE
ATTENTION

Contenu connexe

Similaire à Module development Patterns de Création.pptx

Design patterns : résumé
Design patterns : résuméDesign patterns : résumé
Design patterns : résuméBoubker ABERWAG
 
Presentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afupPresentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afupMichael Bertocchi
 
Abstract factory (fabrique abstraite) en java - Design patterns
Abstract factory (fabrique abstraite) en java - Design patternsAbstract factory (fabrique abstraite) en java - Design patterns
Abstract factory (fabrique abstraite) en java - Design patternsAbdelfahem Sidaoui
 
Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]linasafaa
 
Entity_framework_db first
Entity_framework_db firstEntity_framework_db first
Entity_framework_db firstZineb ELGARRAI
 
DesignPatternsISI.pdf
DesignPatternsISI.pdfDesignPatternsISI.pdf
DesignPatternsISI.pdfandre543581
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimLaurent Broudoux
 
Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Arnaud Auroux
 
MVVM de A à Z
MVVM de A à ZMVVM de A à Z
MVVM de A à ZMicrosoft
 
chap3 conception et implementation
chap3 conception et implementation chap3 conception et implementation
chap3 conception et implementation michel martiz
 
Les chaines éditoriales : de la théorie à la pratique
Les chaines éditoriales : de la théorie à la pratiqueLes chaines éditoriales : de la théorie à la pratique
Les chaines éditoriales : de la théorie à la pratiqueOumMohssine
 
Decorator Design Pattern Presentation
Decorator Design Pattern PresentationDecorator Design Pattern Presentation
Decorator Design Pattern PresentationOuissalBenameur
 
Obeo Designer - Principes Généraux
Obeo Designer - Principes GénérauxObeo Designer - Principes Généraux
Obeo Designer - Principes GénérauxEtienne Juliot
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec dockergcatt
 

Similaire à Module development Patterns de Création.pptx (20)

Design patterns : résumé
Design patterns : résuméDesign patterns : résumé
Design patterns : résumé
 
Presentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afupPresentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afup
 
Abstract factory (fabrique abstraite) en java - Design patterns
Abstract factory (fabrique abstraite) en java - Design patternsAbstract factory (fabrique abstraite) en java - Design patterns
Abstract factory (fabrique abstraite) en java - Design patterns
 
Les usines à logiciels
Les usines à logicielsLes usines à logiciels
Les usines à logiciels
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]
 
Entity_framework_db first
Entity_framework_db firstEntity_framework_db first
Entity_framework_db first
 
Abstract factory+adapter
Abstract factory+adapterAbstract factory+adapter
Abstract factory+adapter
 
DesignPatternsISI.pdf
DesignPatternsISI.pdfDesignPatternsISI.pdf
DesignPatternsISI.pdf
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - Ensim
 
Cours spring
Cours springCours spring
Cours spring
 
Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8
 
MVVM de A à Z
MVVM de A à ZMVVM de A à Z
MVVM de A à Z
 
chap3 conception et implementation
chap3 conception et implementation chap3 conception et implementation
chap3 conception et implementation
 
Les chaines éditoriales : de la théorie à la pratique
Les chaines éditoriales : de la théorie à la pratiqueLes chaines éditoriales : de la théorie à la pratique
Les chaines éditoriales : de la théorie à la pratique
 
Intro ihm
Intro ihmIntro ihm
Intro ihm
 
Lmo02.ppt
Lmo02.pptLmo02.ppt
Lmo02.ppt
 
Decorator Design Pattern Presentation
Decorator Design Pattern PresentationDecorator Design Pattern Presentation
Decorator Design Pattern Presentation
 
Obeo Designer - Principes Généraux
Obeo Designer - Principes GénérauxObeo Designer - Principes Généraux
Obeo Designer - Principes Généraux
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec docker
 

Dernier

JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 

Dernier (11)

JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
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.
  • 18.
  • 20. Code
  • 21.
  • 22.
  • 23.
  • 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.