1.1 Writing maintainable code1.1.1 Common myths about DI1.1.2 Understanding the purpose of DI1.2 A simple example: Hello DI!1.2.1 Hello DI! code1.2.2 Benefits of DI1.3 What to inject and what not to inject1.3.1 Stable Dependencies1.3.2 Volatile Dependencies1.4 DI scope1.4.1 Object Composition1.4.2 Object Lifetime1.4.3 Interception1.4.4 DI in three dimensions1.5 ConclusionSummary