Decorator (cont’d)
Consequences
- responsibilities can be dynamically attached
- avoids combinatorial class explosion “BorderedScrollableTextView”
- no feature laden base classes
- decorators can be nested
- more little classes
- impacts object identity
Implementation
- manual forwarding of requests