Design pattern:Pont
De WIKI.minetti.org
Révision de 7 avril 2016 à 16:36 par Jp (discussion | contributions) (Page créée avec « == But == Permettre la séparation et le découplage d'une abstraction et de son implémentation permettant à chacune d'évoluer indépendamment. == Diagramme de classes... »)
Sommaire
But
Permettre la séparation et le découplage d'une abstraction et de son implémentation permettant à chacune d'évoluer indépendamment.
Diagramme de classes
Code
public class Abstraction { /** * L'instance de l'implémenteur */ private Implementor implementor; /** * Constructeur initialisant l'implémenteur */ public Abstraction(Implementor implementor) { this.implementor = implementor; } /** * Méthode encapsulant une méthode de l'implémenteur */ public void method() { implementor.method(); } }
public interface Implementor { /** * Méthode d'implémentation */ public void method(); }
public class ConcreteImplementorA implements Implementor { /** * Méthode d'implémentation */ public void method() { // Implémentation de la méthode } }
public class ConcreteImplementorB implements Implementor { /** * Méthode d'implémentation */ public void method() { // Implémentation de la méthode } }
Exemples
Exemples | Classes | |||
---|---|---|---|---|
Abstraction | PreciseAbstraction | Implementor | ConcreteImplementor | |
Dessiner des formes soit en traits continus, soit en pointillés. | Forme | Rectangle
Triangle Cercle ... |
Dessin | Continu
Pointillé ... |