This is a UML class diagram example for the Decorator design pattern.


Allows for the dynamic wrapping of objects in order to modify their existing responsibilities and behaviors.

Use When

  • Object responsibilities and behaviors should be dynamically modifiable.
  • Concrete implementations should be decoupled from responsibilities and behaviors.
  • Subclassing to achieve modification is impractical or impossible.
  • Specific functionality should not reside high in the object hierarchy.
  • A lot of little objects surrounding a concrete implementation is acceptable.
Import into your Project

Posted by: Ricardo Poole

Turn every software project into a successful one.

Try Visual Paradigm for Free! Or learn more about our features.

0 0 vote
Article Rating
Inline Feedbacks
View all comments