Don't inject too many dependencies

While dependency injection is a good practice - i.e., passing dependencies into a class, usually via a constructor method - you want to be aware of how many dependencies you inject into each class.

There's no hard and fast rule, but I usually notice when I get to three dependencies and rarely inject more than four or five into a class.

Having too many dependencies suggests that the class is doing too much and has too many responsibilities and that another class may be needed.

Here's the thing

Having smaller and simpler classes makes them easier to read, maintain and review. Ideally, each class should only have one responsibility, so it adheres to the Single Responsibility Principle (the "S" in SOLID).

Creating classes is cheap, so why not split one large and difficult-to-maintain class with many dependencies into multiple smaller and easier-to-work-with ones?