Decorator simply adds functionality to the class that it decorates. Varieties like icing on a cake. You can decorate more than one component, but it looks more like Facede, although I could be wrong. The second question is - the shell adds functionality, but can also mask it
Bostone
source share