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