In this chapter, we will cover the following recipes:
- Implementing the Strategy pattern
- Exploring the power of the Delegation pattern
- Implementing delegated class properties
- Tracking state with the Observer pattern
- Restricting property updates with the Vetoable delegate
- Implementing the advanced Observer pattern by defining a custom property delegate
- Working with the Lazy delegate
- Implementing builders the smart way