« Patrons de conception/Adaptateur » : différence entre les versions

Contenu supprimé Contenu ajouté
imported>Divadz
Aucun résumé des modifications
imported>Divadz
Aucun résumé des modifications
Ligne 1 :
{{ébauche informatique}}
En [[génie logiciel]], '''Adaptateur''' est un [[patron de conception]] ''(design pattern)'' de type structure ''(structural)''. Il permet de convertir l'interface d'une classe en une autre interface que le client attend. '''Adaptateur''' fait fonctionner ensemble des classes qui n'auraient pas pu sans lui, à cause d'une incompatibilité d'interfaces.
 
== But ==
'''A utiliser lorsque :''' vous voulez intégrer une classe que vous ne voulez/pouvez pas modifier.
Il permet de convertir l'interface d'une classe en une autre interface que le client attend. '''Adaptateur''' fait fonctionner ensemble des classes qui n'auraient pas pu sans lui, à cause d'une incompatibilité d'interfaces.
 
== Autre nom ==
'''Symptômes :'''
[[Wrapper]]
 
== Motivation / Exemple ==
'''A utiliser lorsque :''' vousVous voulez intégrer une classe que vous ne voulez/pouvez pas modifier.
 
== Applicabilité ==
* Une API Tiers convient à votre besoin fonctionnel, mais la signature de ses méthodes ne vous convient pas.
* Vous voulez normaliser l'utilisation d'anciennes classes sans pour autant en reprendre tout le code.
Un objet '''Adaptateur''' sert de liaison entre les objets manipulés et un programme les utilisant, à simplifier la communication entre deux classes. Il peut être considéré comme un [[wrapper]], puisqu'il est utilisé pour modifier l'interface d'un objet vers une autre interface. L'implémentation en est donc quasiment triviale, comme vous pouvez le constater selon ce schéma :
 
== Structure ==
[[Image:PatternAdapter.png|center|frame|Schéma UML du motif de conception Adaptateur]]
 
== Participants ==
 
== Collaboration ==
 
== Conséquences ==
 
== Implémentation ==
 
== Exemple de code ==
 
== Utilisations connues ==
 
 
 
Un objet '''Adaptateur''' sert de liaison entre les objets manipulés et un programme les utilisant, à simplifier la communication entre deux classes. Il peut être considéré comme un [[wrapper]], puisqu'il est utilisé pour modifier l'interface d'un objet vers une autre interface. L'implémentation en est donc quasiment triviale, comme vous pouvez le constater selon ce schéma :
 
 
 
On peut également utiliser un adaptateur lorsque l'on ne veut pas implémenter toutes les méthodes d'une certaine interface. Par exemple, si l'on doit implémenter l'interface MouseListener en Java, mais que l'on ne souhaite pas implémenter de comportement pour toutes les méthodes, on peut dériver la classe MouseAdapter. Celle-ci fournit en effet un comportement par défaut (vide) pour toutes les méthodes de MouseListener.
Ligne 35 ⟶ 60 :
}
 
<!-- Suggestion de présentation des annexes. Aide : http://fr.wikipedia.org/wiki/Aide:Notes et références -->
 
== Notes et références de l'article ==
<references/>
== Voir aussi ==
=== Articles connexes ===
* [[À remplacer]]
*
=== Liens et documents externes ===
*
 
[[Catégorie:Patron de conception]]