Design pattern > Structuraux > Adapter
Ce patron convertit l'interface d'une classe en une autre interface exploitée par une application.
Permet d'interconnecter des classes qui sans cela seraient incompatibles.
Il est utilisé dans le cas où un programme se sert d'une bibliothèque de classe qui ne correspond plus à l'utilisation qui en est faite,
à la suite d'une mise à jour de la bibliothèque dont l'interface a changé.
Un objet adapteur expose alors l'ancienne interface en utilisant les fonctionnalités de la nouvelle.
Target (ChemicalCompound)
- defines the domain-specific interface that Client uses.
Adapter (Compound)
- adapts the interface Adaptee to the Target interface.
Adaptee (ChemicalDatabank)
- defines an existing interface that needs adapting.
Client (AdapterApp)
- collaborates with objects conforming to the Target interface.
Compound: Unknown ------
Compound: Water ------
Formula: H20
Weight : 18.015
Melting Pt: 0
Boiling Pt: 100
Compound: Benzene ------
Formula: C6H6
Weight : 78.1134
Melting Pt: 5.5
Boiling Pt: 80.1
Compound: Alcohol ------
Formula: C2H6O2
Weight : 46.0688
Melting Pt: -114.1
Boiling Pt: 78.3