patron de conception

1 580 vues

Publié le

desgin patron
patron adaptateur

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 580
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
64
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

patron de conception

  1. 1. Université de Sousse Institut Supérieur des Sciences Appliqués et de Technologie Patrons de Conception (Adaptateur) Mohamed_recherche@hotmail.fr/Medshili_isetkr@hotmail.fr Réalisé par : Shili Mohamed 07/03/2014 M2RINFOSPI 1
  2. 2. Menu  Introduction Définition Représentation d’un patron de conception Organisation de patron de conception Les Exemples Conclusion 07/03/2014 M2RINFOSPI 2
  3. 3. Introduction Un pattern est une règle en trois parties exprimant une relation entre un contexte, un problème et une solution ( Alexander) D'après Buschmann . (1996), Un design pattern ou patron de conception est une solution éprouvée à un problème de conception récurrent. Un pattern s’exprime souvent par des interfaces et des classes abstraites, dans un schéma UML 07/03/2014 . M2RINFOSPI 3
  4. 4. Définition(1/3) Patron adaptateur Adaptateur est un patron de conception de type structural qui permet de convertir l'interface d'une classe en une autre interface que le client attend. Adaptateur fait fonctionner un ensemble des classes qui n'auraient pas pu fonctionner sans lui, à cause d'une incompatibilité d'interfaces. Source:(http://fr.wikipedia.org/wiki/Adapateur-patron) 07/03/2014 M2RINFOSPI 4
  5. 5. Définition(2/3) Structure Figure 1:Schéma UML du motif de conception Adaptateur(http://fr.wikipedia.org/wiki/) 07/03/2014 M2RINFOSPI 5
  6. 6. Définition(3/3) Participants Target: Cible Définit l'interface métier utilisée par le Client. Client Travaille avec des objets implémentant l'interface Target Adaptee Définit une classe existante devant être adaptée. Adapter Fait correspondre la classe de Adapté à l'interface Target 07/03/2014 M2RINFOSPI 6
  7. 7. Représentation d’un patron de conception(1/2) Les Design Patterns sont représentés par : • Nom : augmente le vocabulaire, réifie une idée de solution, permet de mieux communiquer. • Problème : quand appliquer la forme, le contexte... • Solution : les éléments de la solution, leurs relations, responsabilités, collaborations. Pas de manière précise, mais suggestives... • Conséquences : résultats et compromis issus de l'application de la forme 07/03/2014 M2RINFOSPI 7
  8. 8. Représentation d’un patron de conception(2/2) Exemple • Nom: Salle d ’attente • Problème :On doit attendre • Solution: Toujours relaxante et pas confinée • Conséquences: Attente active ou passive ? Durée de l ’attente ? Distraction ? • Exemples Aéroport, dentiste, ... 07/03/2014 M2RINFOSPI 8
  9. 9. Organisation des patrons de conception(1/4) On distingue trois familles de patrons de conception selon leur utilisation : 1. Patrons de création Donnent des solutions aux problèmes liés à l'instanciation des classes 2. Patrons de structure Donnent des solutions aux problèmes de structuration des classes, d'abstraction, de réutilisation 3. Patrons de comportement ils permettent d'organiser les objets pour qu’ils collaborent entre eux 07/03/2014 M2RINFOSPI 9
  10. 10. Organisation des patrons de conception(2/4) Patrons de création  Fabrique  Une méthode dans une classe dérivée créé les instances associées  Fabrique abstraite  Fabrique pour construire des objets liés  Monteur  Fabrique pour construire des objets complexes de manière incrémentale  Prototype  Fabrique pour cloner de nouvelles instances d'un prototype  Singleton  Fabrique pour n'avoir qu'une seule et unique instance 07/03/2014 M2RINFOSPI 10
  11. 11. Organisation des patrons de conception(3/4) Patrons de structure  Adaptateur  Un traducteur qui adapte une interface de serveur pour un client  Pont  Découpler l'interface d'une classe et son implémentation  Objet composite  Structure pour construire des agrégats récursifs  Décorateur  Etend un objet de manière transparente  Façade  Façade simplifie l'interface pour un sous-système  Poids-mouche  De nombreux objets partagés efficacement  Proxy  Un objet est l'approximation d'un autre 07/03/2014 M2RINFOSPI 11
  12. 12. Organisation des patrons de conception(4/4) Patrons de comportement  Chaine de responsabilité  Requête déléguée au fournisseur de service responsable  Commande  Requête comme objet de première classe  Interpréteur  Interpréteur de langage pour une petite grammaire  Médiateur  Médiateur coordonnes les interactions entre ses associés  Observateur  Les observateurs sont mis au courant des changements des observés  Etat  Object dont le comportement dépend de son état  Stratégie  Abstraction pour la sélection d'un parmi plusieurs algorithmes  Patron de méthode  Algorithme avec des pas fournit par une classe dérivée  Visiteur  Opérations appliquée aux éléments d'une structure d'objet hétérogène 07/03/2014 M2RINFOSPI 12
  13. 13. Exemple (1/2) Exemple 1 Problématique L’interface propriétaire ne correspond pas à celle utilisée dans notre code, le système existant ne peut donc pas utiliser la classe propriétaire. Figure N°2:Interface 07/03/2014 M2RINFOSPI 13
  14. 14. Exemple (2/2) Solution : Créer un adaptateur Figure N°3:Interface adaptateur 07/03/2014 M2RINFOSPI 14
  15. 15. Exemple (1/3) Exemple 2 Figure N° 4:serveur web gère des documents 07/03/2014 M2RINFOSPI 15
  16. 16. Exemple (2/3) Figure N° 5:serveur web gère des documents 07/03/2014 M2RINFOSPI 16
  17. 17. Exemple (3/3) 07/03/2014 Figure N° 6:serveurM2RINFOSPI web gère des documents 17
  18. 18. Exemple (1/3): Adaptateur (Adapter) Exemple 3 Exemple de situation : J’utilise une bibliothèque de traitement d’images (dont je ne peux pas modifier le code source). Pour fonctionner, elle attend un objet fournissant une interface d’accès en lecture et en écriture à un tableau en deux dimensions contenant des triplets d’octets. J’aimerais l’interfacer avec une bibliothèque fournissant une abstraction sur des tableaux unidimensionnels stockés de manière persistante dans une base de données ou dans un système de fichiers. Problème : Comment concilier les services proposés par la bibliothèque d’entrées/sorties et l’interface attendue par la bibliothèque de traitement d’images. Solution : Utiliser un objet qui implémente l’interface attendue en faisant appel aux services proposés par une instance de la bibliothèque d’entrées/sorties. 07/03/2014 M2RINFOSPI 18
  19. 19. Exemple (2/3) Figure N°7: code java 07/03/2014 M2RINFOSPI 19
  20. 20. Exemple (3/3) Figure N°8: code java 07/03/2014 M2RINFOSPI 20
  21. 21. Conclusion L’utilisation des Design Patterns offre de nombreux avantages. Tout d’abord cela permet de répondre à un problème de conception grâce à une solution éprouvée et validée par des experts. Ainsi on gagne en rapidité et en qualité de conception ce qui diminue également les coûts. De plus, les Design Patterns sont réutilisables et permettent de mettre en avant les bonnes pratiques de conception. 07/03/2014 M2RINFOSPI 21
  22. 22. Références Christopher Alexander, S. Ishikawa, M. Silverstein, M. Jacobson, I. Fiksdahl-King and S. Angel, (1977), A Pattern Language : Towns, Buildings, Construction, (ISBN 0-19501919-9) Design patterns - Tête la première, de Eric Freeman, Elisabeth Freeman, Kathy Sierra et Bert Bates. (ISBN 2-84177-350-7) (1re édition, septembre 2005) Pattern Languages of Program Design - James O. Coplien, Douglas C. Schmidt. (1995), (ISBN 0-201-60734-4) Les Patrons Abîmes - Détection, Explications et Restructuration - Cédric Bouhours, 2010, (ISBN 6-131-53501-9) Liste des patrons de conception avec exemples, problèmes, solutions et solutions alternatives. http://badger.developpez.com/tutoriels/dotnet/patterns/adaptateur 07/03/2014 M2RINFOSPI 22
  23. 23. 07/03/2014 M2RINFOSPI 23

×