What is it?
Structural design pattern that allows the behaviour of objects to be enhanced placing them into special wrapper objects
What problems does it solve?
Altering behaviours to an object at runtime
Why not just use inheritance?
ConcreteComponent
andConcreteComponent
and ConcreteComponent
that have been decorated can be treated in the same wayConcreteComponent
via compositionText
Current requirements:
Updated requirements:
Gotchas: