Decorator Pattern - MacKittipat/note-design-pattern GitHub Wiki
- Acquiring new behavior by composing object instead of inheritance.
- Reduce coupling between class.
- Apply Open-Close principle
- Allow new behavior to be added to classes without altering existing code.