Страницы

Поиск по вопросам

понедельник, 6 января 2020 г.

В чем отличие service locator от ioc-container?

#java #service #inversion_of_control


Хотелось бы примеры реализации на java,  примеров реализации service locators полно,
а вот ioc-containers не нашёл. Все ведет на готове реализации ioc, как правило Spring.
    


Ответы

Ответ 1



ServiceLocator и Dependency Injection можно рассматривать как две формы паттерна IoC. Только в первом случае зависимости запрашиваются у локатора(получается некоторый global state, что не очень хорошо), а во втором контейнер сам устанавливает зависимости классу. Есть старенькая, но очень хорошая статья от Фаулера - см. тут (ее вольный перевод есть тут и тут). Еще советую почитать статью от skipy Кроме Spring-а есть и другие реализации IoC - контейнеров: guice, weld-cdi,dagger, pico container, silkdi

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

Отправить комментарий