1.1 L'ajout ou la suppression d'un décorateur n'implique pas de modification de code
1.2 L'ajout ou la suppression d'un objet à décorer n'implique pas de modification de code
2.1 Nombre minimal de classes Décorateur
2.2 Factorisation maximale entre les décorateurs et les objets à décorer
3.1 Les objets à décorer n'ont aucune connaissance des décorateurs
3.2 Un décorateur peut être décoré par un autre décorateurIn this solution, if we add a new decoration, there is no code modification. Moreover, the decorators are able to decorate themselves.
In this solution, it is not possible to add or to remove a object to decorate withtout doing code mofication. The factorisation between decorators and objects to decorate is not maximal. Moreover, a decorator cannot be decorated by another decorator.