Decorator Decorator
1. L’exemple initial
L’exemple initial est fondé sur une alternative à la mise en œuvre classique du pattern Observer. Il s’agit d’une réalisation de ce pattern sur une classe existante dont la modification des surclasses n’est pas souhaitée ou s’avère impossible. La gestion des observateurs est introduite dans une sous-classe de la classe observée.
Dans notre exemple, la classe dont nous souhaitons observer les changements d’états est la classe Rectangle dont le code se trouve à la suite.
public class Rectangle {
protected int height, width;
public Rectangle(int height, int width) {
super();
this.height = height;
this.width = width;
}
public int getHeight() {
...