1.1. Managing Object End-of-Lifetime1.2. Removing Explicit Dependencies1.3. Delegating Object Creation to a Class1.4. Delegating Object Creation to a Method1.5. Designing Application Layers1.6. Returning Multiple Values from a Method1.7. Converting from Legacy to Strongly Typed Classes1.8. Making Classes Adapt to Your Interface1.9. Designing a Custom Exception1.10. Constructing Objects with Complex Configuration