Прочитайте много постов о разнице между 3 идиомами. Но более запутался, тогда я столкнулся с этой статьей: http://martinfowler.com/articles/INICENICE.HTML
Просто хочу увидеть, если я получил это правильно. Пожалуйста, поправьте меня, если я ошибаюсь. Пожалуйста, сообщите мне о коррекции и дополнениях:
IOC - это концепция развязки применения при внедрении услуг, которую он использует. Приложение содержит ref в IService и не заканчивается в качестве конкретного обслуживания.
Существует как минимум два способа достижения так:
di - бетонный сервис впрыскивается как CTOR PARAR / RUB Установка / впрыск интерфейса сброса ( Что означает последнее? )
Серновидикатор - это компонент, который знает, что все конкретные услуги могут потребоваться приложение. Приложение явно просит конкретную услугу от локатора.
* Контейнер IOC действует фабрика управления («провайдер»).
Я получил немного запутанный «когда предпочтение (1) или (2)» часть в статье. Может ли кто-то, пожалуйста, рассказать от своего собственного опыта в словах слов слойма?
«Сервисный локатор имеет небольшое преимущество из-за более простого поведения. Однако, если вы строительные классы будут использоваться в нескольких приложениях, то инъекция зависимости является Лучший выбор. "-> Как находится локатор более простым? Потому что он явно использует вызов метода? Что лучше использовать DI, когда есть несколько приложений?