SlideShare une entreprise Scribd logo
1  sur  17
Design Patterns
 SIDAOUI Abdelfahem
 Email: Abdelfahem20@gmail.com
 La fabrique abstraite est un patron de
conception (design pattern) créationnel utilisé
en génie logiciel orienté objet.
 Elle fournit une interface pour créer des
familles d'objets liés ou inter-dépendants sans
avoir à préciser au moment de leur création la
classe concrète à utiliser.
 Fournir une interface pour créer des objets
d'une même famille sans préciser leurs
classes concrètes.
 Le système utilise des objets qui sont
regroupés en famille. Selon certains critères,
le système utilise les objets d'une famille ou
d'une autre.
 Le système doit utiliser ensemble les objets
d'une famille.
 La partie cliente manipuler
les interfaces des objets ; ainsi il y aura une
indépendance par rapport aux classes
concrètes.
 Chaque fabrique concrète permet d'instancier
une famille d'objets (éléments graphiques du
même look and feel) ; ainsi la notion de
famille d'objets est renforcée.
 Le Design Pattern Fabrique abstraite (Abstract
Factory) permet d'isoler l'appartenance à une
famille de classes.
 AbstractFactory : définit l'interface des
méthodes de création.
 FactoryImplA et FactoryImplB : implémentent
l'interface et instancient la classe concrète
appropriée.
 AbstractPlugin : définit l'interface d'un type
d'objet instancié.
 PluginA et PluginB : sont des sous-classes
concrètes. Elles sont instanciées
respectivement par les FactoryImplA et
FactoryImplB.
 La partie cliente fait appel à une Fabrique
pour obtenir une nouvelle instance
d'AbstractPlugin. L'instanciation est
transparente pour la partie cliente. Elle
manipule une AbstractPlugin.
 De la bonne implémentation du fabrique
abstraite (Abstract Factory) en Java:
 http://www.mediafire.com/file/mewky52lss4
9vt0/AbstractFactory.rar/file
Merci
pour votre attention

Contenu connexe

Tendances

Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C
Fahad Golra
 

Tendances (20)

Cours de c
Cours de cCours de c
Cours de c
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
L'API Collector dans tous ses états
L'API Collector dans tous ses étatsL'API Collector dans tous ses états
L'API Collector dans tous ses états
 
Les listes en Python
Les listes en PythonLes listes en Python
Les listes en Python
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C
 
Rapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIXRapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIX
 
Spring Boot RestApi.pptx
Spring Boot RestApi.pptxSpring Boot RestApi.pptx
Spring Boot RestApi.pptx
 
Introduction au langage SQL
Introduction au langage SQLIntroduction au langage SQL
Introduction au langage SQL
 
Modélisation de données pour MongoDB
Modélisation de données pour MongoDBModélisation de données pour MongoDB
Modélisation de données pour MongoDB
 
ModéLisation De Workflow En Uml
ModéLisation De Workflow En UmlModéLisation De Workflow En Uml
ModéLisation De Workflow En Uml
 
Chapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaChapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en Java
 
Créer des applications Java avec MongoDB
Créer des applications Java avec MongoDBCréer des applications Java avec MongoDB
Créer des applications Java avec MongoDB
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
 
Cours php
Cours php Cours php
Cours php
 
Servlets et JSP
Servlets et JSPServlets et JSP
Servlets et JSP
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
 
Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...
 

Similaire à Abstract factory (fabrique abstraite) en java - Design patterns (7)

Module development Patterns de Création.pptx
Module development Patterns de Création.pptxModule development Patterns de Création.pptx
Module development Patterns de Création.pptx
 
Patrons de creation
Patrons de creationPatrons de creation
Patrons de creation
 
Design patterns gof fr
Design patterns gof frDesign patterns gof fr
Design patterns gof fr
 
Abstract factory+adapter
Abstract factory+adapterAbstract factory+adapter
Abstract factory+adapter
 
Patrons de conception
Patrons de conceptionPatrons de conception
Patrons de conception
 
patron de conception
patron de conception patron de conception
patron de conception
 
Design patterns
Design patternsDesign patterns
Design patterns
 

Abstract factory (fabrique abstraite) en java - Design patterns

  • 2.  SIDAOUI Abdelfahem  Email: Abdelfahem20@gmail.com
  • 3.  La fabrique abstraite est un patron de conception (design pattern) créationnel utilisé en génie logiciel orienté objet.  Elle fournit une interface pour créer des familles d'objets liés ou inter-dépendants sans avoir à préciser au moment de leur création la classe concrète à utiliser.
  • 4.  Fournir une interface pour créer des objets d'une même famille sans préciser leurs classes concrètes.
  • 5.  Le système utilise des objets qui sont regroupés en famille. Selon certains critères, le système utilise les objets d'une famille ou d'une autre.  Le système doit utiliser ensemble les objets d'une famille.
  • 6.  La partie cliente manipuler les interfaces des objets ; ainsi il y aura une indépendance par rapport aux classes concrètes.  Chaque fabrique concrète permet d'instancier une famille d'objets (éléments graphiques du même look and feel) ; ainsi la notion de famille d'objets est renforcée.
  • 7.  Le Design Pattern Fabrique abstraite (Abstract Factory) permet d'isoler l'appartenance à une famille de classes.
  • 8.
  • 9.  AbstractFactory : définit l'interface des méthodes de création.  FactoryImplA et FactoryImplB : implémentent l'interface et instancient la classe concrète appropriée.  AbstractPlugin : définit l'interface d'un type d'objet instancié.
  • 10.  PluginA et PluginB : sont des sous-classes concrètes. Elles sont instanciées respectivement par les FactoryImplA et FactoryImplB.  La partie cliente fait appel à une Fabrique pour obtenir une nouvelle instance d'AbstractPlugin. L'instanciation est transparente pour la partie cliente. Elle manipule une AbstractPlugin.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.  De la bonne implémentation du fabrique abstraite (Abstract Factory) en Java:  http://www.mediafire.com/file/mewky52lss4 9vt0/AbstractFactory.rar/file