Не осложняет ли Spring Dependency Inversion Principle?
Если понимать, что принцип инверсий зависимостей подразумевает, что наиболее гибкими системами являются те, где в ИСХОДНОМ коде зависимости направлены на абстракции, а не конкретные реализации, то не мешает ли следовать этому принципу Спринг. Ведь использование интерфейсов сделано довольно сложно, тебе нужно либо перебирать все реализации интерфейсов и искать подходящий, что сложно, либо использовать @Qualified, что делает ИСХОДНЫЙ код зависимым на реализацию, а не абстракцию.
Ответы (1 шт):
DI подразумевает, что разные аспекты кода не зависимы друг от друга, что и реализует Spring с помощью @Bean @Component @Autowired, это действительно удобно, ведь программист не задумывается о кол-ве объектов, и то как они между собой взаимодействуют, так как на это, на себя берет Spring Context.