Could you explain why you suggest "
When in doubt, inject each dependency directly into the method that requires it."? I always pass all dependencies through constructors and get well known feedback - if the number of dependencies starts getting out of hand (I prefer not more than three, two is better), then the SRP is violated and the class should be split into smaller ones. If dependencies are passed here and there into methods, it's hard to detect the moment when class is bigger than we like it to be. Am I missing something?