Инжекция конструктора с другим, независимостью, аргументами конструктора

Я знал, что Java 6 включал пишущий сценарий поддержки, но я просто недавно обнаружил jrunscript, который может интерпретировать и выполнить JavaScript (и, каждый предполагает, другие языки сценариев, такие как Groovy), в интерактивном режиме, вид подобных оболочка Python или irb в Ruby

10
задан cbp 19 April 2011 в 05:01
поделиться

2 ответа

Класс, как написано выше, не будет хорошим кандидатом для использования с контейнером IOC. Здесь вы смешиваете проблемы с сущностью Person, которая хранит некоторое состояние (имя) и выполняет какое-то действие (независимо от того, для чего используется репозиторий). Если вы реорганизуете свой код так, чтобы сущность Person извлекалась или создавалась через класс, который принимает реализацию IPersonRepository через конструктор, вы окажетесь в месте, где внедрение зависимостей имеет больший смысл.

5
ответ дан 3 December 2019 в 22:37
поделиться

Я с уважением не согласен с ответом Кевина МакМахона выше, и причина в том, что я видел код внедрения зависимостей, который делает именно то, что вы хотите ... только с другим контейнером IoC. А именно это был Castle Windsor, который является еще одним контейнером Ioc. Это позволит вам создать раздел в вашем файле конфигурации, чтобы указать, какие значения предоставить для имени (не имеет особого смысла делать это для имени, но если бы это было свойство, подобное "connectionString", это могло бы сделать много смысл).

Итак ... дело не в том, что то, что вы пытаетесь сделать, не подходит для внедрения зависимостей в целом ... просто Ninject кажется некомфортным с этим (или, возможно, Ninject может с этим справиться ... . Я недостаточно хорошо знаю все его редко используемые функции, чтобы сказать).

2
ответ дан 3 December 2019 в 22:37
поделиться
Другие вопросы по тегам:

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