patron adaptateur
Post on 19-Oct-2015
44 Views
Preview:
TRANSCRIPT
-
Institut suprieur des
Mini-projet: Patron Adaptateur
Elabor par : Shili Mohamed
Groupe : Master de recherche informatique
Mohamed_recherche@hotmail.fr/Medshili_isetkr@hotmail.fr
Universit De Sousse
Institut suprieur des sciences applique et de technologie de Sousse
Rapport
projet: Patron Adaptateur
Shili Mohamed
: Master de recherche informatique
Mohamed_recherche@hotmail.fr/Medshili_isetkr@hotmail.fr
20 /11/2013
sciences applique et de technologie de Sousse
projet: Patron Adaptateur
Mohamed_recherche@hotmail.fr/Medshili_isetkr@hotmail.fr
-
Page 2
I. Introduction
Un pattern est une rgle en trois parties exprimant une relation entre un
contexte, un problme et une solution (Christopher Alexander -1977)
D'aprs Buschmann. (1996), Un design pattern ou patron de conception est une
solution prouve un problme de conception rcurrent.
Les patrons sont des solutions prouves des problmes spcifiques et
rcurrents. Un patron dcrit un problme devant tre rsolu, une solution, et le
contexte dans lequel cette solution est considre. Il nomme une technique et
dcrit ses cots et ses avantages. Il permet une quipe dutiliser un vocabulaire
commun pour dcrire leurs modles [Johnson 1997].
Un pattern sexprime souvent par des interfaces et des classes abstraites, dans
un schma UML
Une classe abstraite est une classe dont l'implmentation n'est pas complte et
qui n'est pasinstanciable. Elle sert de base d'autres classes drives (hrites).
II. Dfinition de patron de conception 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.
En programmation informatique, les patrons de conception peuvent tre utiliss
avant, pendant, ou aprs le travail de programmation: Utilis avant, le
programmeur utilisera le patron comme guide lors de l'criture du code source.
Utilis aprs il servira comme exemple pour relier diffrents modules de code
source dj crits, ce qui implique d'crire le code source ncessaire leur
liaison, et le code qui les fera correspondre au patron de conception.
-
Page 3
Utilis pendant le travail de programmation, le programmeur constatera que le
code qui vient d'tre crit a des points communs avec un patron existant et
effectuera les modifications ncessaires pour que le code corresponde au patron.
1. Structure
Figure 1:Schma UML du motif de conception Adaptateur
(http://fr.wikipedia.org/wiki/)
2. 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
-
Page 4
III. Reprsentation dun patron de conception
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 suggestive...
Consquences : rsultats et compromis issus de l'application de la
forme
Cette reprsentation aide surtout mieux comprendre l'utilisation et la
logique interne de chaque patron, mais ne correspond pas l'usage habituel du
terme. Le mot structure serait peut-tre plus adapt.
Un aspect de construction plus important est l'orthogonalit: chaque patron doit
correspondre une approche diffrente, qui ne rpte pas les ides ou stratgies
prsentes dans d'autres patrons. Cette qualit devrait permettre d'aider le
concepteur dcortiquer un problme et en rsoudre chaque aspect d'une
faon organise, ainsi que de combiner les patrons pour construire une solution.
Exemple
Nom: Salle dattente
Problme : On doit attendre
Solution: Toujours relaxante et pas confine
Consquences: Attente active ou passive ? Dure de lattente ?
Distraction?
Exemples
Aroport, dentiste, ...
-
Page 5
IV. Organisation de patron de conception
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
Comme est mentionn ci-dessus, le patron adaptateur fait partie de la famille
des patrons structuraux.
Autre Patrons de structure
-Les patrons structurels : Ils proposent des schmas de classes et d'objets pour
raliser des structures plus complexes.
- Le Pont : Il dcouple une abstraction de son implmentation, afin que les deux
puissent tre modifis indpendamment.
- Le Composite : Il organise les objets en structure arborescente
reprsentant une hirarchie de composition. Il permet un traitement uniforme
des objets individuels, et des objets composs.
- Le Dcorateur : Il attache des responsabilits supplmentaires un objet
de faon dynamique. Il offre une solution alternative la drivation de classes
pour l'extension de fonctionnalits.
-
Page 6
- La Faade : Elle fournit une interface unifie pour un ensemble d'interfaces
d'un Sous-systme. Elle dfinit une interface de plus haut niveau, qui rend le
sous-systme plus facile utiliser.
- Le Poids mouche : Il supporte de manire efficace un grand nombre
d'instances de Granularit fine.
- La Procuration : Elle permet de remplacer temporairement un objet par un
autre, pour en contrler l'accs.
V. Les Exemples
1. Exemple N1
Problmatique
Linterface propritaire ne correspond pas celle utilise dans notre code, le
systme existant ne peut donc pas utiliser la classe propritaire.
Figure N2:Interface
Solution
Comme une solution on va crer un adaptateur qui exprime a figure
suivante Figure N3
-
Page 7
Figure N3:Interface Adapteur
2. Exemple N2
Figure N 4:serveur web gre des documents
-
Page 8
Figure N 5:Interface Adaptateur qui grer de document PDF
& HTML
Figure N 6:Interface Adaptateur avec le code java
-
Page 9
3. Exemple N3
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.
Figure N7: code java
-
Page 10
Figure N8: code java
-
Page 11
VI. Conclusion
On termine par lutilit de patron de conception 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.
-
Page 12
VII. Rfrences S. Ishikawa, M. Silverstein, M. Jacobson, I. Fiksdahl-King and
S. Angel, (1977), A Pattern Language : Towns, Buildings, Construction, (ISBN 0-19-
501919-9)
Design patterns - Tte la premire, de Eric Freeman, Elisabeth Freeman, Kathy
Sierra et Bert Bates. (ISBN 2-84177-350-7) (1redition, 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)
top related