может ли кто-нибудь, пожалуйста, сказать мне, в чем разница между инверсией контроля (IOC) и внедрением зависимостей (DI) весной?

#spring #dependency-injection #inversion-of-control

Вопрос:

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

Комментарии:

1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

Ответ №1:

Внедрение зависимостей — это просто зависимость от абстрактного интерфейса и передача конкретной реализации этого интерфейса вашему классу через конструктор или метод настройки. Это позволяет вам использовать другую конкретную реализацию без изменения вашего класса. Это полезно, например, для тестирования.

МоК также известен как голливудский принцип: не звони нам, мы позвоним тебе. В этом случае фреймворк определяет интерфейс, а приложение обеспечивает конкретную реализацию. Это помогает ограничить зависимости между классами. IoC часто реализуется с помощью внедрения зависимостей, но это не является жестким требованием.

Комментарии:

1. большое спасибо, Майк, за то, что заставил меня понять!