Здравствуйте, IQuerist, Вы писали:
IQ>>>Альтернатива простая — г...кодить г...код без DI.
IQ>·>Это как? И чем это лучше?
IQ> это значительно экономит время и силы и г...кодеру и окружающим...
Так покажи этот код без DI. Ты показал "плохой" код, теперь давай "хороший" код в студию.
IQ>·>Ты привёл ситуацию, но я не вижу в ней ничего криминального. Я и пытаюсь добиться конкретики. Что именно плохо и как должно быть чтобы стало хорошо?
IQ>То ли боги тотально берегли вас от случаев убогого использования DI, то ли вы видели его на на картинках в книжках... Если вы не видите в моем примере типичного антипаттерна, я могу вам только позавидовать.
Я пока только вижу код, который назван "плохим". Но код не бывает абстрактно плохим. Он может быть только хуже/лучше некоего другого кода по неким критериям. Вот это я и пытаюсь выудить из тебя: какой код ты считаешь лучше и почему.
IQ> Нету в убогих проектах никаких юнит тестов не доживают они до них
Допустим. И причём тут DI?
Похоже ты обжёгся на молоке, и теперь дуешь на воду.
IQ>>> Тогда пропадает видимость — IoC половина священной коровы.
IQ>·>Ы? Что за бред? Что пропадает? Куда пропадает?
IQ>·>В DI никаких интерфейсов нет. Найди мне их тут: https://en.wikipedia.org/wiki/Dependency_injection#Examples
IQ>Расскажите это тем кто пытается пихать DI всюду где есть оператор new или вызов статической функции
Ага... значит интерфейсы тут не причём как выяснилось. Но в начальном сообщении new и статических функций не было. Может приведёшь более выразительный пример?
Т.е. проблема в том, что люди создают интерфейсы где попало, бормоча "во имя DI!", так что-ли? Ну такое надо лечить только ликбезом по мягким местам...