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