From Dependency Injection in .NET, Second Edition by Steven van Deursen and Mark Seemann
What purpose does DI serve? DI isn’t a goal in and of itself, rather a means to an end. Ultimately, the purpose of most programming techniques is to deliver working software as efficiently as possible. One aspect of that is to write maintainable code. This article, adapted from chapter 1 of Dependency Injection in .NET, Second Edition, discusses what DI is (and is not).
From ASP.NET Core in Action by Andrew Lock
The word middleware is used in a variety of contexts in software development and IT, but it’s not a particularly descriptive word – so, what is middleware? This article discusses the definition of middleware in ASP.NET Core and how they can be used.
From Concurrency in .NET by Riccardo Terrell
In this article, you’re going to implement one of the most common coordination techniques—the pipeline pattern. In general, a pipeline is composed of a series of computational steps, organized as a chain of stages, where each stage depends on the output of its predecessor and usually performs a transformation on the input data.
From .NET Core in Action by Dustin Metzgar
This article compares enterprise application architecture pre and post .NET Core.