Скажите пожалуйста есть ли различие между принципом инверсии зависимостей и шаблоном "внедрение зависимостей"?
Сомнения возникают потому что и тот, и другой делают одно и тоже - добавляют один объект в другой на основе интерфейса. В результате этого связность кода уменьшается потому что может быть передан любой объект, главное чтобы он соответствовал определённому интерфейсу.
Тем не менее, в во многих статьях такой способ уменьшения связности называют по разному, причём нередко в пределах одной статьи