About
Hi! I’m Steven van Deursen and this is my blog. My blog posts are about software development, design, architecture, security, and everything that interests me concerning my profession.
I’m a Dutch freelance .NET developer and architect and writing code for the last 27 years. I’m a passionate speaker, coauthor of the second edition of the book “Dependency Injection in .NET” (also available in Chinese, Italian, Polish, Russian, and Japanese), and the developer of Simple Injector; a popular DI Container library for .NET.
Public profiles
You can follow me using the following public profiles:
Publications
Apart from the articles on this blog, and my answers on Stack Overflow, my publications can be found via other outlets as well.
- Dependency Injection Principles, Practices, and Patterns, by Manning Publications Co.. Also available in Chinese, Italian, Polish, Russian, and Japanese.
Audio
- .NET Rocks! #1603 - Dependency Injection with Steven van Deursen [2018]
- Cross Cutting Concerns Podcast 116 - Steven van Deursen on Dependency Injection [2019]
Recent public talks
I’m doing Dependency Injection; What can go wrong?
Goes into the basics of DI, how bad design can still lead to the Constructor Over-Injection code smell, and how the Facade Services refactoring and the Composite design pattern can combat this.
- @ Exception Twente. Enschede, The Netherlands. 2018-10 (Dutch)
- @ NMGN.tech. Nijmegen, The Netherlands. 2018-11 (Dutch)
Dependency Injection in .NET, what we’ve learned since the first edition
Discusses three key changes made in the second edition: How Ambient Context is an anti-pattern, Compile-Time Weaving is the opposite of DI because it causes tight coupling, and how Abstract Factories are a code smell.
- @ Cito. Arnhem, The Netherlands. 2019-01
- @ Aarhus .NET User Group. Aarhus, Denmark. 2019-01
- @ Copenhagen .NET User Group. Copenhagen, Denmark. 2019-02
- @ Software Development Network (SDN). Zeist, The Netherlands. 2019-04 (Dutch)
- @ Isatis. Nijmegen, The Netherlands. 2019-08
- @ .NET Developers Ruhr. Gelsenkirchen, Germany. 2019-09
- @ .NET User Group Dortmund. Dortmund, Germany. 2019-09
- @ Microsoft Community BiH Conference. Sarajevo, Bosnia and Herzegovina. 2019-10
Can Dependency Injection be applied too much?
Goes into the basics of DI, the difference between Volatile and Stable Dependencies, the causes of Constructor Over-Injection, and possible refactorings.
Next-Level Dependency Injection: The Peculiar Case of the One-Membered Interfaces.
In this talk I argue how the use of generic one-membered interfaces can lead to code that is open for extension, but closed for modification to prevent having to perform Shotgun Surgary on your code base.
- @ DutchWorkz. Utrecht, The Netherlands. 2025-09 [Dutch]
Hire me
You can hire me to come talk about DI and design principles at your company. Based on the interests and experience of you and your team, I will create a tailor-made story that improves your team’s knowledge and understanding of DI, software design principles, and patterns.
Contact me
You can send me a tweet or mail me (to ‘steven’ @ [this domain without the blog part] ).