What is dependency injection and how to achive this in .net