I agree with your concerns. This is the smell of code for accepting dependencies for the sole purpose of passing them to other dependencies.
Depending on the exact interaction between these dependencies, you have several options:
If only one instance of the dependency is required
If your controller only needs one instance of the dependencies, then use the dependency instead.
(apologies for C # code)
Do not do this:
public class MyController
{
public MyController(IDb db)
{
var dep = new MyDependency(db);
}
}
Instead, you can do this:
public class MyController
{
public MyController(MyDependency dep)
{
}
}
MyDependency . . .
, , . , , , .
Factory .