Внедрение зависимости: должны ли зависимые объекты передаваться как аргументы конструктора или нет? - PullRequest
3 голосов
/ 16 января 2011

На видео здесь http://code.google.com/p/google-guice/

Это объясняет, что должно.

А здесь Оскар Риз говорит обратное Как объяснить введение зависимости 5-летнему ребенку?

Так что я сейчас растерялся.

Ответы [ 2 ]

7 голосов
/ 16 января 2011

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

Хотя я предпочитаю использовать конструкторы для обязательных и конечных полей, я не вижу в этом ничего особенного для внедрения зависимостей.

5 голосов
/ 16 января 2011

Простого ответа нет.Это зависит от ситуации.Проверьте раздел «Конструктор против инъекции сеттера» в статье Мартина Фаулера:

http://www.martinfowler.com/articles/injection.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...