Enjoy fast, FREE delivery, exclusive deals and award-winning movies & TV shows with Prime
Try Prime
and start saving today with Fast, FREE Delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Instant streaming of thousands of movies and TV episodes with Prime Video
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
$59.99$59.99
FREE delivery:
Thursday, Nov 2
Ships from: Amazon.com Sold by: Amazon.com
Buy used: $55.47
Other Sellers on Amazon
& FREE Shipping
76% positive over last 12 months
80% positive over last 12 months
+ $13.62 shipping
92% positive over last 12 months
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Dependency Injection Principles, Practices, and Patterns First Edition
| Price | New from | Used from |
- eTextbook
$45.99 Read with our free app - Paperback
$55.47 - $59.994 Used from $55.47 9 New from $48.95
Purchase options and add-ons
Dependency Injection Principles, Practices, and Patterns teaches you to use DI 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.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Dependency Injection (DI) is a great way to reduce tight coupling between software components. Instead of hard-coding dependencies, such as specifying a database driver, you make those connections through a third party. Central to application frameworks like ASP.NET Core, DI enables you to better manage changes and other complexity in your software.
About the Book
Dependency Injection Principles, Practices, and Patterns is a revised and expanded edition of the bestselling classic Dependency Injection in .NET. It teaches you DI from the ground up, featuring relevant examples, patterns, and anti-patterns for creating loosely coupled, well-structured applications. The well-annotated code and diagrams use C# examples to illustrate principles that work flawlessly with modern object-oriented languages and DI libraries.
What's Inside
- Refactoring existing code into loosely coupled code
- DI techniques that work with statically typed OO languages
- Integration with common .NET frameworks
- Updated examples illustrating DI in .NET Core
About the Reader
For intermediate OO developers.
About the Authors
Mark Seemann is a programmer, software architect, and speaker who has been working with software since 1995, including six years with Microsoft. Steven van Deursen is a seasoned .NET developer and architect, and the author and maintainer of the Simple Injector DI library.
Table of Contents
PART 1 Putting Dependency Injection on the map
- The basics of Dependency Injection: What, why, and how
- Writing tightly coupled code
- Writing loosely coupled code
PART 2 Catalog
- DI patterns
- DI anti-patterns
- Code smells
PART 3 Pure DI
- Application composition
- Object lifetime
- Interception
- Aspect-Oriented Programming by design
- Tool-based Aspect-Oriented Programming
PART 4 DI Containers
- DI Container introduction
- The Autofac DI Container
- The Simple Injector DI Container
- The Microsoft.Extensions.DependencyInjection DI Container
- ISBN-10161729473X
- ISBN-13978-1617294730
- EditionFirst Edition
- PublisherManning
- Publication dateMarch 16, 2019
- LanguageEnglish
- Dimensions7.38 x 1.1 x 9.25 inches
- Print length552 pages
Frequently bought together

Similar items that may ship from close to you
Editorial Reviews
Review
"This book is a masterpiece. It's amazing and fundamental for every software developer who wants to write solid and correct code."--Emanuele Origgi, Funambol
"A marvelous, clear, and exhaustive journey into all aspects of DI in .NET, with very focused and complete real world examples."--Pasquale Zirpoli, MIED Open Source Initiative
About the Author
Steven van Deursen is a seasoned .NET developer and architect, and the author and maintainer of the Simple Injector DI library.
Product details
- Publisher : Manning; First Edition (March 16, 2019)
- Language : English
- Paperback : 552 pages
- ISBN-10 : 161729473X
- ISBN-13 : 978-1617294730
- Item Weight : 2.34 pounds
- Dimensions : 7.38 x 1.1 x 9.25 inches
- Best Sellers Rank: #427,716 in Books (See Top 100 in Books)
- #53 in Microsoft .NET
- #80 in Microsoft C & C++ Windows Programming
- #460 in Software Development (Books)
- Customer Reviews:
Important information
To report an issue with this product, click here.
About the author

Mark Seemann is a Danish software developer based in Copenhagen, Denmark. His professional interests include functional programming, object-oriented development, as well as software development in general. Apart from writing two books he has also written numerous articles and blog posts about related topics.
Despite being mostly a .NET developer he takes most of his inspiration from sources across a wide range of technologies, including Haskell and lots of pattern books.
Originally poised to become a rock star or (failing that) graphic novelist (in the European tradition) he one day found himself with insufficient talent for either, a masters degree in Economics, and a desire for working with computers. He has been doing the latter intermittently since 1995.
When not working with software or spending time with his family, Mark enjoys reading, listening to and playing music, as well as preparing or consuming gourmet food and wine.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Since then, this has become required reading for my software development staff. There are two realizations that informed this.
The first is that there are a LOT of misunderstandings about dependency injection out there, with quite a few otherwise-reliable sources promoting “best practices” that, ultimately, introduce complexity without necessarily solving the underlying problems. When you go down this rabbit hole, and attempt to make sense of conflicting guidance, two names ultimately emerge from—and stand above—the confusion: Mark Seemann and Steven van Deursen. Consistently, they provide comprehensive, deeply-considered, and rational guidance that not only demonstrates a depth of knowledge, but also establishes a framework, vocabulary, and set of heuristics for thinking through dependency injection challenges. Together, they are the authoritative source on the topic, and this book neatly collates hundreds of articles and StackOverflow responses they’ve made on the topic over the last decade. The book will not only answer your questions, but also address real-world challenges you haven’t yet discovered.
The second is that this isn’t actually a book about dependency injection. It is a design patterns book about writing loosely-coupled and maintainable applications. It is true that it frames this primarily in terms of dependency injection—and, thus, the title of the book. But what the authors recognized is that many of the misunderstandings about dependency injection actually represent more fundamental misunderstandings about software design. As such, instead of simply providing guidance on dependency injection, this book carefully lays out the various approaches people take to solve the underlying problem, how those ultimately fail, and then examines the various design patterns that help address them. In doing so, the book ends up offering a surprisingly practical and approachable exploration of common design patterns.
This is one of those books that will, as you read it, inspire you to refactor your past projects, and immediately change how you approach new code. And not (just) because you’ve leaned a new set of tools or even techniques, but because your knowledge and understanding of fundamental software development practices will have matured. Instead of simply prescribing a set of approaches, this will change how you think about the software design and development.
From this perspective, the second edition is a welcome and impressive update. Yes, it overhauls the technical content to accommodate .NET Core, if that happens to be your framework of choice. More importantly, though, it fully embraces the above perspective, and reorganizes the content around design patterns. The new material on aspect-oriented programming and domain events, in particular, is masterfully presented, and really solidifies (SOLIDifies?) its broader relevance. Further, the guidance regarding what patterns (and tools) to use in which situations has continued to improve, and is both clear-headed and actionable.
Indeed, even if you’ve recently read the first edition of the book, the second edition might well be worth picking up simply for chapters 6, 10, 11, and 12, in particular. (Chapters 10 and 11 are entirely new material; Chapters 6 and 12 have been updated considerably.)
[Disclosure: I was a technical reviewer—an independent, unpaid role—for this edition. I have no commercial interest in the book.]
Top reviews from other countries
Covers much more than DI and guides us on design principles, etc.
Simplest and easy example gives you easy to understand
Highly recommend this book.







