Centre Universitaire           De Souk-Ahras                Institut : Sciences & Techniques                     Départeme...
Définition  “Each pattern describes a problem which occurs over   and over again in our environment, and then describes  ...
Types de patrons   Créationnels:AbstractFactory,Singleton, Builder,… • Font l’abstracion du processus l’instanciasion afi...
AbstractFactory   Adapter                            4
Abstract Factory (1/7)   Idée    ◦ Fournir une interface pour créer des familles d’objets      associés sans connaître le...
Abstract Factory (2/7)   Champs d’application    ◦ Bibliothèque fournie avec seulement leurs interfaces,      pas leurs i...
Abstract Factory (3/7)                         7
Abstract Factory (4/7)   Structure    ◦ La fabrique       AbstractFactory déclare l’interface pour les opérations qui   ...
Abstract Factory (5/7)   Collaborations    ◦ Normalement, une seule instance de fabrique      concrète est créée à l’exéc...
Abstract Factory (6/7)   Conséquences    ◦ Isolation des classes concrètes (seules les      classes abstraites/interface ...
Abstract Factory (7/7)   Implémentation    ◦ Les fabriques sont souvent des singletons    ◦ Ce sont les sous-classes conc...
Patron de structureAdapter (1/4)   Idée    ◦ Convertir l’interface d’une classe en une autre      interface qui est atten...
Patron de structureAdapter (2/4)   Structure    ◦ Une cible (Target) définit l’interface spécifique à      l’application ...
Adapter (2/4)                14
Patron de structureAdapter (3/4)   Conséquences    ◦ Pour la classe de l’objet qui adapte      Pas possible d’adapter un...
Patron de structureAdapter (4/4)   Implémentation    ◦ Par héritage (multiple) de la classe à adapter,      en y ajoutant...
   Exmple Crier en JAVA sur Eclipse                                       17
Prochain SlideShare
Chargement dans…5
×

Abstract factory+adapter

1 082 vues

Publié le

deseign pattern

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 082
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
38
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Abstract factory+adapter

  1. 1. Centre Universitaire De Souk-Ahras Institut : Sciences & Techniques Département : Sciences Design Pattern (Abstract Factory & Adapter) dériger:Réalisé par :  .Abdelkarim Amirate DrHeraguemi kamel eddine
  2. 2. Définition “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in suh a way that you can use this solution a million times over, without ever doing it the same way twice”[Alexander, 1977] Un patron de conception a 4 constituent :• nom du patron: un mot/phrase que l’on utilise qui réfère unefamille de problèmes, une famille de solutions, et leur impact.• problème: une description des problèmes typiques de conception• solution: décrit les éléments constitutifs de la solution, leurresponsabilités, relations, et intéractions• conséquences: impact et compromis résultant de l’application dupatron 2
  3. 3. Types de patrons Créationnels:AbstractFactory,Singleton, Builder,… • Font l’abstracion du processus l’instanciasion afin de rendre unsystème indépendant de la façon dont ses objets sont créés etreprésentés; Structurels: Adapter, Bridge, Composite, Decorator, Façade,… • Se concentrent sur la façon dont les classes et les objets sontcomposés pour obtenir de plus grandes structures Comportementaux: Iterator, Visitor, Observer, State, trategy, Mediator, …• Décrivent les modèles de communicaton et interacton entre lesobjets 3
  4. 4. AbstractFactory Adapter 4
  5. 5. Abstract Factory (1/7) Idée ◦ Fournir une interface pour créer des familles d’objets associés sans connaître leur classe réelle. ◦ La création d’objets regroupés en familles sans devoir connaître les classes concrètes destinées à la création de ces objets. Synonymes : Kit, Fabrique abstraite, Usine abstraite 5
  6. 6. Abstract Factory (2/7) Champs d’application ◦ Bibliothèque fournie avec seulement leurs interfaces, pas leurs implémentations (bibilothèque graphique, look-and-feel) ◦ Un système utilisant des produits a besoin d’être indépendant de la façon dont ces produits sont créés et regroupés ; ◦ Un système est paramétré par plusieurs familles de produits qui peuvent évoluer. 6
  7. 7. Abstract Factory (3/7) 7
  8. 8. Abstract Factory (4/7) Structure ◦ La fabrique  AbstractFactory déclare l’interface pour les opérations qui créent des objets abstraits  ConcreteFactory implémente les opérations qui crée les objets concrets ◦ Les objets (plusieurs types)  AbstractProduct déclare une interface pour un type d’objet  ConcreteProduct définit un objet qui doit être créé par la fabrique concrète correspondante et implémente l’interface AbstractProduct ◦ L’utilisateur  Client utilise seulement les interfaces déclarée par AbstractFactory et par les classes AbstractProduct 8
  9. 9. Abstract Factory (5/7) Collaborations ◦ Normalement, une seule instance de fabrique concrète est créée à l’exécution. Cette fabrique crée les objets avec une implémentation spécifique. Pour créer différents sortes d’objets, les clients doivent utiliser différentes fabriques concrètes. ◦ La fabrique abstraite défère la création des objets à ses sous-classes concrètes 9
  10. 10. Abstract Factory (6/7) Conséquences ◦ Isolation des classes concrètes (seules les classes abstraites/interface sont connues) ◦ Échange facile des familles de produit ◦ Encouragement de la cohérence entre les produits 10
  11. 11. Abstract Factory (7/7) Implémentation ◦ Les fabriques sont souvent des singletons ◦ Ce sont les sous-classes concrètes qui font la création, en utilisant le plus souvent une Factory Method ◦ Si plusieurs familles sont possibles, la fabrique concrète utilise Prototype 11
  12. 12. Patron de structureAdapter (1/4) Idée ◦ Convertir l’interface d’une classe en une autre interface qui est attendue par un client. ◦ Permet de faire collaborer des classes qui n’auraient pas pu le faire à cause de l’incompatibilité de leurs interfaces Exemple ◦ Une classe de bibliothèque conçue pour la réutilisation ne peut pas l’être à cause d’une demande spécifique de l’application ◦ Les Adapter de java : MouseAdapter, WindowAdapter,etc. 12
  13. 13. Patron de structureAdapter (2/4) Structure ◦ Une cible (Target) définit l’interface spécifique à l’application que le client utilise ◦ Le Client collabore avec les objets qui sont conformes à l’interface de Target ◦ La classe à adapter (Adaptee) est l’interface existante qui a besoin d’adaptation ◦ L’adaptateur (Adapter) adapte effectivement l’interface de Adaptee à l’interface de Target par traduction des accès (appels de méthode) 13
  14. 14. Adapter (2/4) 14
  15. 15. Patron de structureAdapter (3/4) Conséquences ◦ Pour la classe de l’objet qui adapte  Pas possible d’adapter une classe et ses sous-classes  Mais redéfinition possible du comportement (sous- classe) ◦ Pour l’objet qui adapte  Un adapter peut travailler avec plusieurs Adaptees  Plus difficile de redéfinir le comportement d’Adaptee (sous-classer puis obliger Adapter a référencer la sousclasse) 15
  16. 16. Patron de structureAdapter (4/4) Implémentation ◦ Par héritage (multiple) de la classe à adapter, en y ajoutant les méthodes de l’interface cible et en assurant les appels corrects aux méthodes de la classe à adapter ◦ Par composition, selon le même principe (faire correspondre les appels de méthode) sauf que la classe à adapter est un champ de la classe qui adapte 16
  17. 17.  Exmple Crier en JAVA sur Eclipse 17

×