I have a controller which takes care of a user's first time journey at my website (ignore names of below dependencies, they are random)
@RestController
class Controller(
private val fooComponent: FooComponent,
private val dataComponent: DataComponent,
private val userComponent: UserComponent,
private val restComponent: RestComponent,
private val calcComponent: CalcComponent,
private val studentComponent: StudentComponent,
private val tampComponent: TampComponent,
private val checkComponent: CheckComponent,
private val trialComponent: TrialComponent,
private val reviewComponent: ReviewComponent,
private val helpComponent: HelpComponent,
private val achievementComponent: AchievementComponent,
private val glassComponent: GlassComponent
)
As you can see, it has a lot of dependencies . It's usually accepted that a lot of dependencies mean the code is violating the Single-responsibility principle. Here, this controller takes care of one user journey( like registration to my website). what are the other downsides for this design? Also, Would appreciate suggestions for alternatives.