Что есть сейчас: не очень понятно зачем нужно внедрение через сеттеры и интерфейсы. В статье сказано, что "Если зависимостей много, перечисление их всех в конструкторе может стать проблемой".
Что можно улучшить: Много зависимостей - это плохо и означает, что класс берет на себя слишком много ответственности, что нарушает принцип SRP. Здесь, кажется, стоит представить более убедительный пример и указать, что (далее цитата из статьи на хабре про инъекцию через сеттеры) "Сеттеры следует использовать для инъекций опциональных зависимостей. Класс должен быть способен функционировать, даже если они не были предоставлены. Зависимости могут быть изменены в любое время после создания объекта. Это может быть, а может и не быть преимуществом в зависимости от обстоятельств. Иногда предпочтительно иметь неизменяемый объект. Иногда же полезно менять составные части объекта во время выполнения — например управляемые бины MBean в JMX."
https://ota-solid.vercel.app/dip/patterns
Что есть сейчас: не очень понятно зачем нужно внедрение через сеттеры и интерфейсы. В статье сказано, что "Если зависимостей много, перечисление их всех в конструкторе может стать проблемой".
Что можно улучшить: Много зависимостей - это плохо и означает, что класс берет на себя слишком много ответственности, что нарушает принцип SRP. Здесь, кажется, стоит представить более убедительный пример и указать, что (далее цитата из статьи на хабре про инъекцию через сеттеры) "Сеттеры следует использовать для инъекций опциональных зависимостей. Класс должен быть способен функционировать, даже если они не были предоставлены. Зависимости могут быть изменены в любое время после создания объекта. Это может быть, а может и не быть преимуществом в зависимости от обстоятельств. Иногда предпочтительно иметь неизменяемый объект. Иногда же полезно менять составные части объекта во время выполнения — например управляемые бины MBean в JMX."