Re[3]: Кто должен инициировать курсор-часики на время длительны
От: bnk СССР http://unmanagedvisio.com/
Дата: 18.03.17 11:34
Оценка: +1
Здравствуйте, ylem, Вы писали:

S>>Внезапно, это один из немногих примеров, на котором можно объяснить IoC.


Y>Если LongScope со статическим методом Open() конфигурится* так же статически, это считается за иньекцию или хотя бы приемлемый способ конфигурации IoC?

Y>Если нет, можно в двух словах, почему?

Код выше — иллюстрация передачи интерфейса обратного вызова (callback), чтобы можно было изменить поведение сервиса (показать часики когда надо),
не меняя сам сервис, и не втаскивая зависимость от UI-библиотек в сервис. Можно сказать да, иллюстрация принципа IoC.

Y>* кофигурится — например, подсовывается колбэк, возврщающий, что должен вернуть этот Open.


Конфигурация IoC тут как-то ни при чем.
Что обычно называется "инъекцией" — это чтобы этот интерфейс "обратного вызова" не в параметрах метода передавался, а в параметрах конструктора например.
Даже больше — чтобы не ты его явно в сервис передавал, создавая этот самый сервис, а поручил эту заботу какой-нибудь библиотеке.

В твоем случае вся эта возня выглядит совершенно избыточной.
Достаточно просто не тащить UI-библиотеки в сервис, "отвязав" их с помощью этого самого интерфейса обратного вызова.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.