Почему здесь плохо иметь слишком много аргументов при внедрении конструктора?

У меня есть контроллер, который заботится о первом путешествии пользователя на моем веб-сайте (игнорируйте имена нижеприведенных зависимостей, они случайны)

@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
) 

Как видите, у него много зависимостей. Обычно считается, что множество зависимостей означает, что код нарушает принцип единой ответственности. Здесь этот контроллер выполняет одно путешествие пользователя (например, регистрацию на моем веб-сайте). каковы другие недостатки этого дизайна? Кроме того, был бы признателен за предложения альтернатив.

0 ответов

Другие вопросы по тегам