Инжекция конструктора: Сколько зависимостей слишком многие? [закрытый]

php -f test.php

См. Руководство для получения полной информации о запуске PHP из командной строки

48
задан Runcible 4 June 2009 в 22:15
поделиться

4 ответа

Это может быть признаком того, что класс с Необходимо отремонтировать сами 6-10 зависимостей.

15
ответ дан 26 November 2019 в 19:05
поделиться

Думаю, не больше трех или четырех. Если вы получаете больше, я бы начал думать о том, насколько хорошо вы абстрагируете свои проблемы . Один объект репозитория , например, должен удовлетворить все ваши потребности в извлечении данных в рамках рассматриваемого класса.

5
ответ дан 26 November 2019 в 19:05
поделиться

Runcible,

Вот ссылка на проект Castle Windsor. Это контейнер Inversion of Control . Эти контейнеры позволяют фабричным классам собирать ваши зависимости вместе и вставлять их как единый объект в ваш конструктор.

http://www.castleproject.org/container/index.html

Я слышал хорошие отзывы о Виндзоре. Spring также создает контейнер IoC, и есть другие .

3
ответ дан 26 November 2019 в 19:05
поделиться

Вы также можете захотеть увидеть, нужно ли объединить какие-либо параметры вашего конструктора в один класс (при условии, что параметры имеют смысл как класс).

Также возможно, что вы захотите использовать шаблон ServiceLocator для некоторых из ваших зависимостей. Это особенно верно, если вам нужно передать зависимости по длинной цепочке конструкторов.

0
ответ дан 26 November 2019 в 19:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: