SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
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
Menu
 Introduction
Définition
Représentation d’un patron de conception
Organisation de patron de conception
Les Exemples
Conclusion
07/03/2014

M2RINFOSPI

2
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
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
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
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
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
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
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
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
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
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
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
Exemple (2/2)
Solution : Créer un adaptateur

Figure N°3:Interface adaptateur

07/03/2014

M2RINFOSPI

14
Exemple (1/3)

Exemple 2

Figure N° 4:serveur web gère des documents

07/03/2014

M2RINFOSPI

15
Exemple (2/3)

Figure N° 5:serveur web gère des documents
07/03/2014

M2RINFOSPI

16
Exemple (3/3)

07/03/2014

Figure N° 6:serveurM2RINFOSPI
web gère des documents

17
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
Exemple (2/3)

Figure N°7: code java
07/03/2014

M2RINFOSPI

19
Exemple (3/3)

Figure N°8: code java
07/03/2014

M2RINFOSPI

20
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
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
07/03/2014

M2RINFOSPI

23

Contenu connexe

Tendances

gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
Oussama Yoshiki
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Riadh K.
 

Tendances (20)

Prez PFE
Prez PFEPrez PFE
Prez PFE
 
Projet de fin d'etude sur le parc informatique
Projet  de fin d'etude sur le parc informatiqueProjet  de fin d'etude sur le parc informatique
Projet de fin d'etude sur le parc informatique
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
Présentation PFE mohamed yosri yahyaoui
Présentation PFE  mohamed yosri yahyaouiPrésentation PFE  mohamed yosri yahyaoui
Présentation PFE mohamed yosri yahyaoui
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Patrons de creation
Patrons de creationPatrons de creation
Patrons de creation
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats
 
Presentation pfe Système de gestion des rendez-vous médicaux
Presentation pfe Système de gestion des rendez-vous médicauxPresentation pfe Système de gestion des rendez-vous médicaux
Presentation pfe Système de gestion des rendez-vous médicaux
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 
Soutenance de Mon PFE - Interaction Homme Machine par geste avec Python - Jai...
Soutenance de Mon PFE - Interaction Homme Machine par geste avec Python - Jai...Soutenance de Mon PFE - Interaction Homme Machine par geste avec Python - Jai...
Soutenance de Mon PFE - Interaction Homme Machine par geste avec Python - Jai...
 
Présentation PFE Mastère PRO
Présentation PFE Mastère PROPrésentation PFE Mastère PRO
Présentation PFE Mastère PRO
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...
 
gestion de projet
gestion de projetgestion de projet
gestion de projet
 
Rapport PFE ISMAGI SQLI Microsoft
Rapport PFE ISMAGI SQLI MicrosoftRapport PFE ISMAGI SQLI Microsoft
Rapport PFE ISMAGI SQLI Microsoft
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
 
Igl cours 3 - introduction à uml
Igl   cours 3 - introduction à umlIgl   cours 3 - introduction à uml
Igl cours 3 - introduction à uml
 
Deep Learning : Application à la reconnaissance d’objets de classes multiples...
Deep Learning : Application à la reconnaissance d’objets de classes multiples...Deep Learning : Application à la reconnaissance d’objets de classes multiples...
Deep Learning : Application à la reconnaissance d’objets de classes multiples...
 

En vedette

Nanostructuration de Surface - Organic Lasers
Nanostructuration de Surface -  Organic LasersNanostructuration de Surface -  Organic Lasers
Nanostructuration de Surface - Organic Lasers
niazi2012
 
Android Bonnees pratiques
Android Bonnees pratiques Android Bonnees pratiques
Android Bonnees pratiques
Patrick Bashizi
 

En vedette (20)

Design Pattern introduction
Design Pattern introductionDesign Pattern introduction
Design Pattern introduction
 
Design Patterns (2003)
Design Patterns (2003)Design Patterns (2003)
Design Patterns (2003)
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
 
Spintronic - GaMnAsP - Data Storage
Spintronic - GaMnAsP - Data StorageSpintronic - GaMnAsP - Data Storage
Spintronic - GaMnAsP - Data Storage
 
conception
conceptionconception
conception
 
Cours ocl
Cours oclCours ocl
Cours ocl
 
Nanostructuration de Surface - Organic Lasers
Nanostructuration de Surface -  Organic LasersNanostructuration de Surface -  Organic Lasers
Nanostructuration de Surface - Organic Lasers
 
JPA est middleware
JPA est middleware JPA est middleware
JPA est middleware
 
BEEM magnetic microscopy - Data Storage
BEEM magnetic microscopy - Data StorageBEEM magnetic microscopy - Data Storage
BEEM magnetic microscopy - Data Storage
 
Comparaison de outils mda
Comparaison de outils mdaComparaison de outils mda
Comparaison de outils mda
 
Soutenanceshili mohamed
Soutenanceshili mohamedSoutenanceshili mohamed
Soutenanceshili mohamed
 
cycle de vie
cycle de vie cycle de vie
cycle de vie
 
Présentation carteapuce
Présentation carteapucePrésentation carteapuce
Présentation carteapuce
 
Elegant Ways of Handling PHP Errors and Exceptions
Elegant Ways of Handling PHP Errors and ExceptionsElegant Ways of Handling PHP Errors and Exceptions
Elegant Ways of Handling PHP Errors and Exceptions
 
Command Pattern
Command PatternCommand Pattern
Command Pattern
 
Design Patterns Presentation - Chetan Gole
Design Patterns Presentation -  Chetan GoleDesign Patterns Presentation -  Chetan Gole
Design Patterns Presentation - Chetan Gole
 
De java à swift en 2 temps trois mouvements
De java à swift en 2 temps trois mouvementsDe java à swift en 2 temps trois mouvements
De java à swift en 2 temps trois mouvements
 
Android Bonnees pratiques
Android Bonnees pratiques Android Bonnees pratiques
Android Bonnees pratiques
 
Sibtel&Swift
Sibtel&SwiftSibtel&Swift
Sibtel&Swift
 
Gestion de Stress
Gestion de StressGestion de Stress
Gestion de Stress
 

Similaire à patron de conception

Module development Patterns de Création.pptx
Module development Patterns de Création.pptxModule development Patterns de Création.pptx
Module development Patterns de Création.pptx
arapilatico
 
Scenari4 fabienne droullours eleanring expo
Scenari4 fabienne droullours eleanring expoScenari4 fabienne droullours eleanring expo
Scenari4 fabienne droullours eleanring expo
Husson Anne-Marie
 
Scenari4 fabienne droullours eleanring expo
Scenari4 fabienne droullours eleanring expoScenari4 fabienne droullours eleanring expo
Scenari4 fabienne droullours eleanring expo
Husson Anne-Marie
 
Design patterns gof fr
Design patterns gof frDesign patterns gof fr
Design patterns gof fr
It Academy
 

Similaire à patron de conception (20)

Design patterns - Exemples en Java
Design patterns - Exemples en JavaDesign patterns - Exemples en Java
Design patterns - Exemples en Java
 
Abstract factory+adapter
Abstract factory+adapterAbstract factory+adapter
Abstract factory+adapter
 
srep_cours_06.pdf
srep_cours_06.pdfsrep_cours_06.pdf
srep_cours_06.pdf
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zineb
 
Création de bases de données
Création de bases de donnéesCréation de bases de données
Création de bases de données
 
Entity_framework_db first
Entity_framework_db firstEntity_framework_db first
Entity_framework_db first
 
Framework Orienté objet
Framework Orienté objetFramework Orienté objet
Framework Orienté objet
 
Cours spring
Cours springCours spring
Cours spring
 
Module development Patterns de Création.pptx
Module development Patterns de Création.pptxModule development Patterns de Création.pptx
Module development Patterns de Création.pptx
 
Scenari4 fabienne droullours eleanring expo
Scenari4 fabienne droullours eleanring expoScenari4 fabienne droullours eleanring expo
Scenari4 fabienne droullours eleanring expo
 
Scenari4 fabienne droullours eleanring expo
Scenari4 fabienne droullours eleanring expoScenari4 fabienne droullours eleanring expo
Scenari4 fabienne droullours eleanring expo
 
Ecole ESMA : Rapport de projet - Application de gestion d'une bibliotheque
Ecole ESMA : Rapport de projet - Application de gestion d'une bibliothequeEcole ESMA : Rapport de projet - Application de gestion d'une bibliotheque
Ecole ESMA : Rapport de projet - Application de gestion d'une bibliotheque
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Design patterns
Design patternsDesign patterns
Design patterns
 
DesignPatternsISI.pdf
DesignPatternsISI.pdfDesignPatternsISI.pdf
DesignPatternsISI.pdf
 
Tp3 - UML
Tp3 - UMLTp3 - UML
Tp3 - UML
 
Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3
 
Design patterns gof fr
Design patterns gof frDesign patterns gof fr
Design patterns gof fr
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Fondamentaux des CMS
Fondamentaux des CMSFondamentaux des CMS
Fondamentaux des CMS
 

Dernier

Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 

Dernier (20)

GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 

patron de conception

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Exemple (2/2) Solution : Créer un adaptateur Figure N°3:Interface adaptateur 07/03/2014 M2RINFOSPI 14
  • 15. Exemple (1/3) Exemple 2 Figure N° 4:serveur web gère des documents 07/03/2014 M2RINFOSPI 15
  • 16. Exemple (2/3) Figure N° 5:serveur web gère des documents 07/03/2014 M2RINFOSPI 16
  • 17. Exemple (3/3) 07/03/2014 Figure N° 6:serveurM2RINFOSPI web gère des documents 17
  • 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. Exemple (2/3) Figure N°7: code java 07/03/2014 M2RINFOSPI 19
  • 20. Exemple (3/3) Figure N°8: code java 07/03/2014 M2RINFOSPI 20
  • 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. 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