Признак хорошего тона — не делать ничего в конструкторе кроме того, что необходимо. А все, что необходимо, — это проверять предоставленные аргументы, а затем присваивать их в качестве значения для свойств сервиса.
Сейчас же достаточно знать, что получение зависимостей из известного источника называется локализацией сервисов, а получение зависимостей в качестве аргументов конструктора — внедрением зависимостей.
Чтобы определить, нужно ли создавать объектную зависимость, ответьте на следующие вопросы:
• Будете ли вы в дальнейшем менять или улучшать поведение класса посредством этой зависимости?
• Есть ли в поведении класса сложность, которую невозможно описать в нескольких строках кода?
• Работает ли функция с объектами вместо примитивных типов значений?