In this article, I will share my experiences and suggestions on using Dependency Injection in ASP.NET Core applications. The motivation behind these principles are; Effectively designing services and their dependencies. Preventing multi-threading issues. Preventing memory-leaks. Preventing potential bugs. This article assumes that you are already familiar with Dependency Injection and ASP.NET Core in a basic level.