Использование таких сред, как Spring или Guice, помогает поддерживать упорядоченность и слабую связь ваших приложений с течением времени.Инфраструктура внедрения зависимостей по существу извлекает конструкцию объекта из приложения, позволяя приложению сосредоточиться на том, что ему нужно делать, а не на архитектурных проблемах.
Еще одно преимущество использования внедрения зависимостей заключается в том, что ваше приложение больше не беспокоитсяо создании объектов, что позволяет вам создавать фиктивные объекты для независимого тестирования каждой части вашего приложения.
Я настоятельно рекомендую прочитать книгу Дханджи Прасанны Внедрение зависимостей .