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... »)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

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

Pont.gif

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é

...