Vous êtes sur la page 1sur 12

Universit De Sousse Institut suprieur des sciences applique et de technologie de Sousse

Rapport

Mini-projet: projet: Patron Adaptateur


Elabor par : Shili Mohamed

Groupe : Master de recherche informatique

Mohamed_recherche@hotmail.fr/Medshili_isetkr@hotmail.fr

20 /11/2013

I. Un

Introduction
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 2

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 (http://fr.wikipedia.org/wiki/)

du

motif

de

conception

Adaptateur

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 3

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 4

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 5

- 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 6

Figure N3:Interface Adapteur 2. Exemple N2

Figure N 4:serveur web gre des documents

Page 7

Figure N 5:Interface Adaptateur qui grer de document PDF & HTML

Figure N 6:Interface Adaptateur avec le code java


Page 8

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 9

Figure N8: code java

Page 10

VI.

Conclusion
Lutilisation des Design

On termine par lutilit de patron de conception 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 11

VII.

Rfrences
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) (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)

Page 12

Vous aimerez peut-être aussi