Передача путем внедрения ссылочной зависимости - PullRequest
1 голос
/ 09 января 2020

Я пытаюсь понять внедрение зависимости с точки зрения "Глобальное состояние - зло" . Глобального состояния можно избежать путем внедрения зависимости, так как зависимость затем может быть изменена только в локальной области действия функции / класса, в которую вводится зависимость. Это верно, если зависимость передается по значению.

Но передача зависимости по ссылке / указателю все же позволит другим частям / системам изменить состояние зависимости, внедренной в течение срока ее службы в классе / функции, в которую она внедрена.

Передача по ссылке неправильный способ введения зависимости? Должны ли мы владеть зависимостью через unique_ptr как в C ++? (Какая альтернатива в Java?) Как правильно вводить зависимость и как мы можем избежать рассуждений о состоянии gloabl за пределами лексической области вводимой зависимости?

...