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.

Print

Audio

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.

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.

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.

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] ).