Dependency Injection in .NET, Second Edition
Steven van Deursen and Mark Seemann
  • MEAP began April 2017
  • Publication in Early 2018 (estimated)
  • ISBN 9781617294730
  • 375 pages (estimated)
  • printed in black & white


An eBook copy of the previous edition, Dependency Injection in .NET (First Edition), is included at no additional cost. It will be automatically added to your Manning Bookshelf within 24 hours of purchase.

Dependency Injection in .NET, Second Edition teaches you to use Dependency Injection to reduce hard-coded dependencies between application components. You'll start by learning what DI is and what types of applications will benefit from it. Then, you'll work through concrete scenarios using C# and the .NET framework to implement DI in your own projects. As you dive into the thoroughly-explained examples, you'll develop a foundation you can apply to any of the many DI libraries for .NET and .NET Core.

Table of Contents detailed table of contents

Part 1: Putting Dependency Injection on the map

1. The Basics of Dependency Injection: What, Why and How

1.1. Writing maintainable code

1.1.1. Common Myths About DI

1.1.2. Understanding the purpose of DI

1.2. A Simple Example : Hello DI

1.2.1. Hello DI code

1.2.2. Benefits of DI

1.3. What to inject and what not to inject

1.3.1. Stable Dependencies

1.3.2. Volatile Dependencies

1.4. DI scope

1.4.1. Object Composition

1.4.2. Object Lifetime

1.4.3. Interception

1.4.4. DI in three dimensions

1.5. Conclusion

1.6. Summary

2. Writing tightly coupled code

2.1. Building a tightly coupled application

2.1.1. Meet Mary Rowan

2.1.2. Data Layer

2.1.3. Domain Layer

2.2. Evaluation

2.2.1. Dependency Graph

2.2.2. New User Interface

2.2.3. New Data Access Layer

2.2.4. Other Combinations

2.3. Analysis

2.3.1. Dependency Graph Analysis

2.3.2. Data Access Interface Analysis

2.3.3. Miscellaneous Other Issues

2.4. Conclusion

2.5. Summary

3. Writing loosely coupled code

3.1. Rebuilding the commerce application

3.1.1. User Interface

3.1.2. Domain Model

3.1.3. Data Access

3.1.4. Composition Root

3.2. Analyzing the loosely coupled implementation

3.2.1. Interaction

3.2.2. Dependency Graph

3.3. Summary

Part 2: Dependency Injection Catalog

4. Patterns

5. Anti-patterns

6. Code Smells

Part 3: Pure DI

7. Application Composition

8. Object Lifetime

9. Aspect-Oriented Programming

Part 4: DI Containers

10. DI Containers introduction

11. Autofac

12. Simple Injector

13. .NET Core DI

About the Technology

Dependency Injection is an application design pattern where components are loosely-coupled with the objects or data on which they have a dependency. The dependent component broadcasts its need, and an external service composes the objects, or "injects" the "dependency". This basic pattern allows objects to work together without being bound into rigid, pre-defined architectures and communication. Dependency Injection has become one of the most dominant practices in the past decade, and it's now required knowledge for .NET developers.

What's inside

  • DI patterns and anti-patterns
  • Aspect-oriented programming
  • Integration with common .NET application frameworks
  • Using Microsoft and open source DI libraries and containers

About the reader

This book is written for intermediate .NET developers and beyond. No previous experience with DI or DI frameworks is required.

About the authors

.NET legend Mark Seemann has teamed up with developer and architect Steven van Deursen in revising and updating this classic book originally written by Mark. Steven is the author and maintainer of a popular DI library for .NET called Simple Injector and is an active voice in the Dependency Injection community. Mark Seemann remains a regular speaker at international software development conferences.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
MEAP combo $49.99 pBook + eBook
MEAP eBook $39.99 pdf + ePub + kindle

FREE domestic shipping on three or more pBooks