Discussing more dependency injection options
Types of DI
1) Controller constructor
2) Controller method
3) Property DI
When to use each:
Constructor : When the object is dependant in all or most of the action methods, using constructor is feasible way
Controller method : When the object is dependant in specific method(not all the methods) using this is feasible
Property : When we are adding new dependency to existing controller using property is feasible way. If we use constructor in this case, we need to update all the places where it has existing reference.