ASP.NET - Writing Clean Code in ASP.NET Core with Dependency Injection