Re[7]: При чем тут Di?
От: · Великобритания  
Дата: 11.08.16 14:23
Оценка:
Здравствуйте, IQuerist, Вы писали:

IQ>>>Можно делать всякое... я описал конкретный кейс который имхо наблюдается повсеместно, но почему-то мало критикуется или критикуется не по делу.

IQ>·>Ты описал кейс, но не предложил альтернативу. Как надо-то по-твоему?
IQ>Альтернатива простая — г...кодить г...код без DI.
Это как? И чем это лучше?

IQ>>>и что ни будь вроде IDateTimeProvider, работа с датой и временем вряд ли поменяется, но

IQ>·>А мы так сделали в нашем проекте, ибо да, у нас "текущее время" оказалось вещью необычной.
IQ>Я привел имхо довольно понятную ситуацию, зачем вы мне описываете варианты где использование DI вполне уместно? Я же не говорю, что таких вообще не существует.
Ты привёл ситуацию, но я не вижу в ней ничего криминального. Я и пытаюсь добиться конкретики. Что именно плохо и как должно быть чтобы стало хорошо?

IQ>>>на всякий случай стоит "уменьшить зависимости"

IQ>·>DI не уменьшает зависимости, а делает их явными.
IQ>Мы используем DI чтобы уменьшить/снизить зависимости — это не моя формулировка, это первое из обоснований наивного использования DI. Второе — DI позволит нам еще лучше писать юнит тесты.
Это уже следствие. Когда зависимости явные — их можно перелопатить и уменьшить.
ЮТ — да, как следствие тоже упрощаются, т.к. понятие юнита тоже становится явным.

IQ>·>Единственное что в твоём коде я бы поменял, так это выкинул все эти I* интерфейсы и инжектил бы сами классы. Интерфейс лежащий рядом с единственной имплементацией — не нужен.

IQ> Тогда пропадает видимость — IoC половина священной коровы.
Ы? Что за бред? Что пропадает? Куда пропадает?
В DI никаких интерфейсов нет. Найди мне их тут: https://en.wikipedia.org/wiki/Dependency_injection#Examples
Видимо просто люди не понимают что такое DI, но свои проблемы валят именно на него.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.