Un ejemplo para poder ver la aplicabilidad del patrón decorador podría ser el siguiente:
Define un objeto al cual se le pueden agregar responsabilidades adicionales.
El patrón Decorator soluciona este problema de una manera mucho más sencilla y extensible.
VentanaDecorator encapsula el comportamiento de Ventana y utiliza composición recursiva para que sea posible añadir tantas "capas" de Decorators como se desee.
Podemos crear tantos Decorators como queramos heredando de VentanaDecorator.