Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How is static code different from other noninjected code, like stuff in a method. Taken to the logical conclusion we'll have thousands or classes full of max 2 operations per method.


How many static classes are your methods using? And what is the problem with injecting this stuff at the top of the class instead? If you plan to write tests, you have to control your dependencies, and DI is the simpliest way to do that.


Because these tests become too detached from reality if you inject everything. A silly example to make the point:

IAdder { double Add(double a, double b) }

Test:

car mockAdder = ... // Mock 1+1=2 etc.


um... yes... this is actually what "pure" OO involves. The only reason we don't do this is because it's a nightmare to manage.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: