Вы находитесь на странице: 1из 23

Universit de Sousse Institut Suprieur des Sciences Appliqus et de Technologie

Patrons de Conception (Adaptateur)


Mohamed_recherche@hotmail.fr/Medshili_isetkr@hotmail.fr
Ralis par : Shili Mohamed
07/03/2014 M2RINFOSPI 1

Menu
Introduction Dfinition Reprsentation dun patron de conception Organisation de patron de conception Les Exemples Conclusion
07/03/2014 M2RINFOSPI 2

Introduction
Un pattern est une rgle en trois parties exprimant une relation entre un contexte, un problme et une solution ( Alexander) D'aprs Buschmann . (1996), Un design pattern ou patron de conception est une solution prouve un problme de conception rcurrent. Un pattern sexprime souvent par des interfaces et des classes abstraites, dans un schma UML

07/03/2014

M2RINFOSPI

Dfinition(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

Dfinition(2/3)
Structure

Figure 1:Schma UML du motif de conception Adaptateur(http://fr.wikipedia.org/wiki/)


07/03/2014 M2RINFOSPI 5

Dfinition(3/3)
Participants
Target: Cible Dfinit l'interface mtier utilise par le Client. Client Travaille avec des objets implmentant l'interface Target Adaptee Dfinit une classe existante devant tre adapte. Adapter Fait correspondre la classe de Adapt l'interface Target

07/03/2014

M2RINFOSPI

Reprsentation dun patron de conception(1/2)


Les Design Patterns sont reprsents par : Nom : augmente le vocabulaire, rifie une ide de solution, permet de mieux communiquer. Problme : quand appliquer la forme, le contexte... Solution : les lments de la solution, leurs relations, responsabilits, collaborations. Pas de manire prcise, mais suggestives... Consquences : rsultats et compromis issus de l'application de la forme
07/03/2014 M2RINFOSPI 7

Reprsentation dun patron de conception(2/2)


Exemple Nom: Salle d attente Problme :On doit attendre Solution: Toujours relaxante et pas confine Consquences: Attente active ou passive ? Dure de l attente ? Distraction ? Exemples Aroport, dentiste, ...

07/03/2014

M2RINFOSPI

Organisation des patrons de conception(1/4) On distingue trois familles de patrons de conception selon leur utilisation : 1. Patrons de cration
Donnent des solutions aux problmes lis l'instanciation des classes

2. Patrons de structure
Donnent des solutions aux problmes de structuration des classes, d'abstraction, de rutilisation

3. Patrons de comportement
ils permettent d'organiser les objets pour quils collaborent entre eux

07/03/2014

M2RINFOSPI

Organisation des patrons de conception(2/4)

Patrons de cration

Fabrique
Une mthode dans une classe drive cr les instances associes

Fabrique abstraite
Fabrique pour construire des objets lis

Monteur
Fabrique pour construire des objets complexes de manire incrmentale

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

Organisation des patrons de conception(3/4)

Patrons de structure

Adaptateur
Un traducteur qui adapte une interface de serveur pour un client

Pont
Dcoupler l'interface d'une classe et son implmentation

Objet composite
Structure pour construire des agrgats rcursifs

Dcorateur
Etend un objet de manire transparente

Faade
Faade simplifie l'interface pour un sous-systme

Poids-mouche
De nombreux objets partags efficacement

Proxy
Un objet est l'approximation d'un autre

07/03/2014

M2RINFOSPI

11

Organisation des patrons de conception(4/4)

Patrons de comportement

Chaine de responsabilit
Requte dlgue au fournisseur de service responsable

Commande
Requte comme objet de premire classe

Interprteur
Interprteur de langage pour une petite grammaire

Mdiateur
Mdiateur coordonnes les interactions entre ses associs

Observateur
Les observateurs sont mis au courant des changements des observs

Etat
Object dont le comportement dpend de son tat

Stratgie
Abstraction pour la slection d'un parmi plusieurs algorithmes

Patron de mthode
Algorithme avec des pas fournit par une classe drive

Visiteur
Oprations applique aux lments d'une structure d'objet htrogne

07/03/2014

M2RINFOSPI

12

Exemple (1/2)
Problmatique

Exemple 1

Linterface propritaire ne correspond pas celle utilise dans notre code, le systme existant ne peut donc pas utiliser la classe propritaire.

Figure N2:Interface

07/03/2014

M2RINFOSPI

13

Exemple (2/2)
Solution : Crer un adaptateur

Figure N3:Interface adaptateur

07/03/2014

M2RINFOSPI

14

Exemple (1/3)

Exemple 2

Figure N 4:serveur web gre des documents

07/03/2014

M2RINFOSPI

15

Exemple (2/3)

Figure N 5:serveur web gre des documents


07/03/2014 M2RINFOSPI 16

Exemple (3/3)

07/03/2014

Figure N 6:serveurM2RINFOSPI web gre des documents

17

Exemple (1/3): Adaptateur (Adapter)

Exemple 3

Exemple de situation : Jutilise une bibliothque de traitement dimages (dont je ne peux pas modifier le code source). Pour fonctionner, elle attend un objet fournissant une interface daccs en lecture et en criture un tableau en deux dimensions contenant des triplets doctets. Jaimerais linterfacer avec une bibliothque fournissant une abstraction sur des tableaux unidimensionnels stocks de manire persistante dans une base de donnes ou dans un systme de fichiers. Problme : Comment concilier les services proposs par la bibliothque dentres/sorties et linterface attendue par la bibliothque de traitement dimages. Solution : Utiliser un objet qui implmente linterface attendue en faisant appel aux services proposs par une instance de la bibliothque dentres/sorties.
07/03/2014 M2RINFOSPI 18

Exemple (2/3)

Figure N7: code java


07/03/2014 M2RINFOSPI 19

Exemple (3/3)

Figure N8: code java


07/03/2014 M2RINFOSPI 20

Conclusion
Lutilisation des Design Patterns offre de nombreux avantages. Tout dabord cela permet de rpondre un problme de conception grce une solution prouve et valide par des experts. Ainsi on gagne en rapidit et en qualit de conception ce qui diminue galement les cots. De plus, les Design Patterns sont rutilisables et permettent de mettre en avant les bonnes pratiques de conception.

07/03/2014

M2RINFOSPI

21

Rfrences
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 - Tte la premire, 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 Abmes - Dtection, Explications et Restructuration - Cdric Bouhours, 2010, (ISBN 6-131-53501-9) Liste des patrons de conception avec exemples, problmes, solutions et solutions alternatives. http://badger.developpez.com/tutoriels/dotnet/patterns/adaptateur

07/03/2014

M2RINFOSPI

22

07/03/2014

M2RINFOSPI

23

Вам также может понравиться