• [^] # Re: Une lecture intéressante

    Posté par . En réponse à la dépêche Comprendre les Design Patterns. Évalué à 4.

    Auquel cas, quel est l'intérêt d'une interface comme décrit dans l'article sur des choses plus simples comme celles-ci ?

    En pratique, il y a plus d'une méthode commune aux deux classes, et tu veux qu'elles dérivent de la même classe, pas seulement pour des question de typage mais aussi parce que ça explicite bien ce que tu veux faire, et c'est beaucoup plus maintenable. Par ailleurs tu peux plus facilement tester les paramètres qu'on te passe avec un truc du genre

    if (machin.implements(telle_interface))
    ... ok
    else
    throw
    end

    Entre

    class Foo
    open()
    close()
    end

    class Bar
    open()
    close()
    end

    et

    Interface Stream
    open()
    close()
    end

    class Foo implements Stream
    ...
    end

    class Bar implements Stream
    ...
    end

    le 2nd cas est quand même plus clair, non ? Plus tu en dis au langage sur comment s'organisent tes classes, mieux c'est.

    Je crois que tu devrais lire le Design Patterns :-).