In this solution, if we add a new decoration, there is no code modification. Moreover, the decorators are able to decorate themselves.
This solution cannot manage the decoration during the execution, and there is some problems concerning the extensibility and the decoupling.