Thématiques principales

jeudi 9 novembre 2017

Design pattern : Adaptateur

Le pattern adaptateur est un pattern très simple dont le seul but est de fournir une interface adaptant le comportement d'un composant afin de se conforme a l'API d'un autre.



Il se situe ainsi entre un pattern structurel car il sert d'interface entre deux systèmes et un pattern comportemental car il facilite la manipulation de l'un par l'autre. En ce sens le pattern adaptateur porte également le nom de Wrapper et et répondre a ce que l'on appelle communément service (Web, OSGI, etc....)

Un client va donc employer les services d'une API dont l’implémentation va réaliser le mapping vers les fonctionnalités concrète du framework.

interface Adaptateur
{
    void roule();
}


class Client{
    void doIt(Adaptateur adaptateur)
    {
        adaptateur.roule();
    }
}

class Pierre{
    void quiroule()
    {
        println "ba oui je roule!"    }
}


class AdaptateurImpl implements Adaptateur{

    Pierre p;

    AdaptateurImpl(Pierre p)
    {
        this.p=p;
    }


    void roule()
    {
        p.quiroule();
    }
}


Client c=new Client();
c.doIt(new AdaptateurImpl(new Pierre()));

Voila en groovy ce que cela donnerai. On peut voir que le pattern adaptateur permet vraiment simplement la translation de comportement.


Aucun commentaire:

Enregistrer un commentaire