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