Назовите простую платформу Внедрения зависимости [закрытой]

9
задан Qwertie 10 August 2010 в 17:45
поделиться

7 ответов

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

Сказав это, я бы использовал, если бы я взял его в руки, был бы AutoFac

Это просто, легко понять и кажется легким.

5
ответ дан 4 December 2019 в 11:39
поделиться

Взгляните на Ninject .

3
ответ дан 4 December 2019 в 11:39
поделиться

Я бы также предложил в дополнение к NInject посмотреть Microsoft DI Framework , Unity .

4
ответ дан 4 December 2019 в 11:39
поделиться

Любая структура, которую вы представите, в конечном итоге станет зависимостью вашего приложения. Кроме того, люди по-разному определяют, что такое легкий. Взгляните на Unity или StructureMap или Castle Windsor, поскольку они имеют тенденцию быть более популярными. У Скотта Хансельмана есть полный список здесь . Сделайте ваш выбор.

4
ответ дан 4 December 2019 в 11:39
поделиться

Попробуйте StructureMap .

Ядро StructureMap.dll довольно мало.

1
ответ дан 4 December 2019 в 11:39
поделиться

Я работаю с довольно большой системой, и мы все ввели вручную. Мы используем абстрактный фабричный паттерн, чтобы убрать большую часть инъекций / проводки, и все получилось отлично.

Фреймворков DI достаточно. Прежде чем брать дополнительную внешнюю зависимость, подумайте, решит ли применение другого / нового шаблона ваши проблемы.

править: (возможно, предвзято / несправедливо) Причины, по которым я не использовал структуру DI:

  • Если вы используете структуру DI, вы должны поставлять структуру DI вместе с вашим программным обеспечением. Для некоторых это может стать препятствием, а другим, возможно, придется оспаривать достоинства дополнительной зависимости.
  • Вам все равно придется создавать конструкторы, принимающие зависимости
  • И вы все равно должны указывать (или хотя бы намекать) в структуре DI, что использовать. Единственное существенное отличие состоит в том, что вы используете фабрику DI, а не свою собственную.

Что касается создания этой фабрики, большинство инструментов рефакторинга могут сделать за вас 90% работы с очень небольшим количеством нажатий клавиш.

0
ответ дан 4 December 2019 в 11:39
поделиться

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

1
ответ дан 4 December 2019 в 11:39
поделиться
Другие вопросы по тегам:

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