SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Ben Abdelwahed Slim
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services webCHOUAIB EL HACHIMI
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java HéritageNadaBenLatifa
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Heithem Abbes
 
Plateforme d’e learning
Plateforme d’e learningPlateforme d’e learning
Plateforme d’e learningEl Aber Haythem
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfacesAziz Darouichi
 
L Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueL Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueFrançois Trudel
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELLilia Sfaxi
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratiqueAbdelouahed Abdou
 
Conception et réalisation d'une plateforme social learning
Conception et réalisation d'une plateforme social learningConception et réalisation d'une plateforme social learning
Conception et réalisation d'une plateforme social learningRouâa Ben Hammouda
 

Mais procurados (20)

Patrons de conception
Patrons de conceptionPatrons de conception
Patrons de conception
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java Héritage
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Plateforme d’e learning
Plateforme d’e learningPlateforme d’e learning
Plateforme d’e learning
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
L Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueL Architecture Logicielle En Pratique
L Architecture Logicielle En Pratique
 
Rapport PFE - B.Sc IT
Rapport PFE -  B.Sc ITRapport PFE -  B.Sc IT
Rapport PFE - B.Sc IT
 
Uml classes Par les exemples
Uml classes Par les exemplesUml classes Par les exemples
Uml classes Par les exemples
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
Cours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweightCours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweight
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
 
Conception et réalisation d'une plateforme social learning
Conception et réalisation d'une plateforme social learningConception et réalisation d'une plateforme social learning
Conception et réalisation d'une plateforme social learning
 

Destaque

Design Pattern introduction
Design Pattern introductionDesign Pattern introduction
Design Pattern introductionneuros
 
Design Patterns (2003)
Design Patterns (2003)Design Patterns (2003)
Design Patterns (2003)Pascal Roques
 
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 strategyENSET, Université Hassan II Casablanca
 
Spintronic - GaMnAsP - Data Storage
Spintronic - GaMnAsP - Data StorageSpintronic - GaMnAsP - Data Storage
Spintronic - GaMnAsP - Data Storageniazi2012
 
Nanostructuration de Surface - Organic Lasers
Nanostructuration de Surface -  Organic LasersNanostructuration de Surface -  Organic Lasers
Nanostructuration de Surface - Organic Lasersniazi2012
 
BEEM magnetic microscopy - Data Storage
BEEM magnetic microscopy - Data StorageBEEM magnetic microscopy - Data Storage
BEEM magnetic microscopy - Data Storageniazi2012
 
Comparaison de outils mda
Comparaison de outils mdaComparaison de outils mda
Comparaison de outils mdaShili Mohamed
 
Soutenanceshili mohamed
Soutenanceshili mohamedSoutenanceshili mohamed
Soutenanceshili mohamedShili Mohamed
 
Présentation carteapuce
Présentation carteapucePrésentation carteapuce
Présentation carteapuceShili Mohamed
 
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 ExceptionsZendCon
 
Design Patterns Presentation - Chetan Gole
Design Patterns Presentation -  Chetan GoleDesign Patterns Presentation -  Chetan Gole
Design Patterns Presentation - Chetan GoleChetan 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 mouvementsDidier Plaindoux
 
Android Bonnees pratiques
Android Bonnees pratiques Android Bonnees pratiques
Android Bonnees pratiques Patrick Bashizi
 

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

Semelhante a patron de conception

Patrons de creation
Patrons de creationPatrons de creation
Patrons de creationomri med
 
Design patterns - Exemples en Java
Design patterns - Exemples en JavaDesign patterns - Exemples en Java
Design patterns - Exemples en JavaOussama BEN KHIROUN
 
srep_cours_06.pdf
srep_cours_06.pdfsrep_cours_06.pdf
srep_cours_06.pdfSamirAwad14
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zinebZineb ELGARRAI
 
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éesRiadh ASSOUAK
 
Entity_framework_db first
Entity_framework_db firstEntity_framework_db first
Entity_framework_db firstZineb ELGARRAI
 
Framework Orienté objet
Framework Orienté objetFramework Orienté objet
Framework Orienté objetNSim Technology
 
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.pptxarapilatico
 
Scenari4 fabienne droullours eleanring expo
Scenari4 fabienne droullours eleanring expoScenari4 fabienne droullours eleanring expo
Scenari4 fabienne droullours eleanring expoHusson Anne-Marie
 
Scenari4 fabienne droullours eleanring expo
Scenari4 fabienne droullours eleanring expoScenari4 fabienne droullours eleanring expo
Scenari4 fabienne droullours eleanring expoHusson Anne-Marie
 
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 bibliothequeMehdi Hamime
 
DesignPatternsISI.pdf
DesignPatternsISI.pdfDesignPatternsISI.pdf
DesignPatternsISI.pdfandre543581
 
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.3Laurent BUNIET
 
Design patterns gof fr
Design patterns gof frDesign patterns gof fr
Design patterns gof frIt Academy
 

Semelhante a patron de conception (20)

Patrons de creation
Patrons de creationPatrons de creation
Patrons de creation
 
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
 
Design patterns
Design patternsDesign patterns
Design patterns
 
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
 

Último

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.pdfAmgdoulHatim
 
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 FLElebaobabbleu
 
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 projetJeanYvesMoine
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
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 ...Universidad Complutense de Madrid
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsJaouadMhirach
 
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.pptxhamzagame
 
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...Nguyen Thanh Tu Collection
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Coursebenezerngoran
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
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.pptxabdououanighd
 
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 BANKNassimaMdh
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxrajaakiass01
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
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.pptxikospam0
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkRefRama
 

Último (20)

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
 
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
 
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 Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
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 ...
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
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
 
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...
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Cours
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
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
 
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
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
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
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 

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