Junior
24
0
questionbank

В чем разница между внедрением зависимостей через конструктор и внедрением через сеттер?

Answer from sobes.tech neural network

Разница во времени внедрения, обязательности зависимости и возможностях при создании объекта:

ОсобенностьВнедрение через конструкторВнедрение через сеттер
Время внедренияПри создании объекта.После создания объекта.
ОбязательностьЗависимость обязательна для создания объекта.Зависимость опциональна.
Состояние объектаОбъект создается полностью инициализированным.Объект может быть создан в неполностью инициализированном состоянии.
ИммутабельностьПозволяет создать объект с неизменяемыми зависимостями.Зависимости могут быть изменены после создания объекта.
Кол-во зависимостейЛучше подходит для небольшого числа зависимостей.Удобнее при большом числе опциональных зависимостей.

Разница во времени внедрения, обязательности зависимости и возможностях при создании объекта:

ОсобенностьВнедрение через конструкторВнедрение через сеттер
Время внедренияПри создании объекта.После создания объекта.
ОбязательностьЗависимость обязательна для создания объекта.Зависимость опциональна.
Состояние объектаОбъект создается полностью инициализированным.Объект может быть создан в неполностью инициализированном состоянии.
ИммутабельностьПозволяет создать объект с неизменяемыми зависимостями.Зависимости могут быть изменены после создания объекта.
Кол-во зависимостейЛучше подходит для небольшого числа зависимостей.Удобнее при большом числе опциональных зависимостей.

Register or sign in to get access to full answers for all questions from the question bank.

dependency-injectiondesign-patternssoftware-designarchitectureobject-oriented-design