спасибо) если бы ты проводил собес. и я бы например сказал, что IoC - подход к написанию приложения с использованием слабого связывания. его реализацией явялется DI. Суть в том, что( в моем примере выше) сервис не должен зависеть от конкретной реализации репо, а должен зависеть от его абстракции (интерфейса), потому как мы можем динамически менять реализацию репо, если потребуется.
после такого ответа меня сразу бы послал, или сначала задал еще доп.вопрос?))
Эм... по-моему Inversion of Control и DI это разные вещи, хоть и связанные. Ну, как Ленин и Партия :-)
DI - это не реализация IoC
DI - это когда у тебя поля, которые отвечают за доступ к внешним сервисам, имеют не тип конкретной реализации, а некого интерфейса.
А IoC - это когда ты в эти самые поля ссылки не руками загоняешь, а имеешь некое декларативное описание, и специальную хрень (как правило Spring), которая по этому описанию создает объекты нужного типа и пропихивает их куда надо.