- Be aware of both runtime and compile-time implementations of the Decorator design pattern.
- Understand that compile-time solutions usually perform better but limit runtime flexibility and encapsulation.
- Understand that runtime solutions are more flexible and are good at hiding details but perform worse.
- Prefer a value semantics solution to a reference semantics solution.