 
 1.1 Addition or removal of a decorator does not need code modification
1.1 Addition or removal of a decorator does not need code modification 1.2 Addition or removal of an object to decorate does not need code modification
1.2 Addition or removal of an object to decorate does not need code modification 2.1 Minimal number of «Decorator» classes
2.1 Minimal number of «Decorator» classes 2.2 Maximal factorization between decorators and object to decorate
2.2 Maximal factorization between decorators and object to decorate 3.1 Objects to decorate have any knowledge on decorators
3.1 Objects to decorate have any knowledge on decorators 3.2 A decorator may be decorated by another decorator
3.2 A decorator may be decorated by another decoratorIn 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.