0% ont trouvé ce document utile (0 vote)
13 vues2 pages

1 Adapter

Transféré par

myriam.trabelsi.2022
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
13 vues2 pages

1 Adapter

Transféré par

myriam.trabelsi.2022
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

IHEC - Carthage

Adapter
AL - 2BI
Design Patterns (support de cours)

L'adaptateur est un patron de conception structurel qui permet aux objets avec des
interfaces incompatibles de collaborer.

1. Structure
Il existe deux structures pour la patrons adapter, chaque structure a des avantages par
rapport à l'autre. La première est l'adaptation par objet, cette adaptation se base sur
l'agrégation. La deuxième est l'adaptation par classe, elle se base sur l'héritage entre
l'adapter et l'objet à adapter.

1.1. Adaptation par objet


Cette implémentation utilise le principe de l'agrégation : l'adaptateur implémente l'interface
d'un objet et enveloppe l'autre. Il peut être implémenté dans tous les langages de
programmation courants.

Diagramme

description

1. Le client est une classe qui contient la logique métier existante du programme.

2. L'interface client décrit un protocole que les autres classes doivent suivre pour
pouvoir collaborer avec le code client.

3. Le service est une classe utile (généralement tierce ou héritée). Le client ne peut pas
utiliser cette classe directement car elle possède une interface incompatible.

4. L'adaptateur est une classe capable de fonctionner à la fois avec le client et le service:

Adapter Page 1
AL – Les patrons de conception Sur 2
il implémente l'interface client, tout en encapsulant l'objet de service. L'adaptateur
reçoit les appels du client via l'interface de l'adaptateur et les traduit en appels à
l'objet de service encapsulé dans un format qu'il peut comprendre.

1.2. Adaptation par classe


Cette implémentation utilise l'héritage : l'adaptateur implémente l'interface d'un objet et
hérite de l'autre. Il peut être implémenté dans tous les langages de programmation courants.

Diagramme

description

Dans ce cas l'adaptateur se contente d'appeler sa propre méthode (qu'il a hérité de la classe
Service).

2. Pseudo code
(voir l'exemple de cours)

3. Application (quand utiliser)


1. Utilisez la classe Adapter lorsque vous souhaitez utiliser une classe existante, mais
que son interface n'est pas compatible avec le reste de votre code.

2. Utilisez le modèle lorsque vous souhaitez réutiliser plusieurs sous-classes existantes


dépourvues de certaines fonctionnalités communes qui ne peuvent pas être ajoutées à
la superclasse. (nécessite des enveloppeurs / implémentation semblable au patron
décorateur).

Adapter Page 2
AL – Les patrons de conception Sur 2

Vous aimerez peut-être aussi