На что нужно обратить внимание (подводные камни) при использовании контейнера IOC? - PullRequest
3 голосов
/ 31 января 2009

На что нужно обратить внимание (подводные камни) при использовании контейнера IOC?

Ответы [ 5 ]

3 голосов
/ 01 февраля 2009

Попытка не слишком сильно упасть для шаблона Service Locator, где некоторая статическая оболочка для вашего контейнера IoC предоставляет вам экземпляры типа xyz. Хотя иногда это может понадобиться, гарантируя, что вы действительно внедрите свои зависимости в тип потребления, вы сделаете свой код намного чище и сделаете контейнер намного менее навязчивым.

0 голосов
/ 01 февраля 2009

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

0 голосов
/ 31 января 2009

Утилизация нужных вещей в нужное время, иначе вы создадите утечки памяти.

0 голосов
/ 01 февраля 2009

Сложность конфигурации.

Не забывайте заранее, что сложность, которую вы получаете с различными XML-файлами и настройками, стоит той проблемы, которую вы решаете. Один из примеров - в Apache HiveMind конфигурация привязки экземпляров классов друг к другу и передача информации о конфигурации могут легко усложняться в обслуживании, чтении и понимании, чем требовалась бы эквивалентная Java.

0 голосов
/ 31 января 2009

Если вы используете Spring Aop, происходит много магии, и если что-то не работает, очень сложно понять, что не так.

...