Контейнеры IoC о файлах конфигурации? - PullRequest
1 голос
/ 10 января 2010

Недавно я разработал консольное приложение для тестирования производительности без пользовательского интерфейса с помощью контейнера IoC (Castle-Windsor-Microkernel). Эта библиотека позволила мне позволить пользователю выбирать, какие тесты выполнять, просто изменив файл конфигурации.

Понял ли я, что такое контейнеры IoC? Я не уверен. Даже Джоэл сказал здесь на SO, что IoC трудно понять.

Из моего примера, что вы делаете вывод? Я использую контейнер IoC именно для того, для чего они были разработаны? Или я просто использую одну из его дополнительных функций?

Ответы [ 3 ]

3 голосов
/ 10 января 2010

Контейнеры IoC предназначены в основном для поддержки DI (внедрение зависимостей). Кажется, вы просто используете вторичную функцию, хотя по вашему описанию это точно неясно. Ваше использование действительно, но не является основным.

Контейнеры IoC не для файлов конфигурации - фактически есть примеры, которые вообще не используют файлы конфигурации (например, LinFu).

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

1 голос
/ 12 января 2010

Я настоятельно рекомендую вам прочитать эту статью Мартина Фаулера. Это немного долго, но это одна из лучших ссылок.

Контейнер IOC не является структурой конфигурации. Одним из способов реализации является использование файлов конфигурации. Некоторые контейнеры даже не имеют конфигурационных файлов для определения объектов и их внедрения.

МОК также называется инъекцией зависимостей, что является лучшим названием. То, что вы сделали, на самом деле было одним из применений этого. Вы сможете сделать больше, если полностью это понимаете.

1 голос
/ 10 января 2010

Использую ли я контейнер IoC для того, для чего он был разработан?

Это одна из вещей, для которой они были разработаны - так что да, в этом случае вы используете их правильно.

...