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é ... |
