Re[10]: При чем тут Di?
От: IQuerist Мухосранск  
Дата: 12.08.16 06:02
Оценка:
Здравствуйте, ·, Вы писали:

·>Здравствуйте, IQuerist, Вы писали:


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

IQ>>То ли боги тотально берегли вас от случаев убогого использования DI, то ли вы видели его на на картинках в книжках... Если вы не видите в моем примере типичного антипаттерна, я могу вам только позавидовать.
·>Я пока только вижу код, который назван "плохим". Но код не бывает абстрактно плохим. Он может быть только хуже/лучше некоего другого кода по неким критериям. Вот это я и пытаюсь выудить из тебя: какой код ты считаешь лучше и почему.

А незачем особенно всматриваться в код, код лишь намек по которому имхо очень просто определить антипаттерн.

Любой другой сходный г...код без DI будет лучше по одной простой причине — он будет значительно проще и меньше по объему в 2-3 раза. А значит не будет создавать препятствий рефакторингу

IQ>> Нету в убогих проектах никаких юнит тестов не доживают они до них

·>Допустим. И причём тут DI?

При том, что его впихивают в проект обосновывая тем, что проще будет писать юнит тесты, которые, к слову как правило никогда не будут написаны

·>Похоже ты обжёгся на молоке, и теперь дуешь на воду.


Я я пишу не о себе, а о других, которые почему-то массово делают одни и те же ошибки, увы связанные с DI. Потому пост и появился.

IQ>>>> Тогда пропадает видимость — IoC половина священной коровы.

IQ>>·>Ы? Что за бред? Что пропадает? Куда пропадает?
IQ>>·>В DI никаких интерфейсов нет. Найди мне их тут: https://en.wikipedia.org/wiki/Dependency_injection#Examples
IQ>>Расскажите это тем кто пытается пихать DI всюду где есть оператор new или вызов статической функции
·>Ага... значит интерфейсы тут не причём как выяснилось. Но в начальном сообщении new и статических функций не было. Может приведёшь более выразительный пример?

Для чего? Кейс мегатипичный, те кто сталкивался думаю сразу все поймут. А кто не сталкивался, увы, опыт придется получать самостоятельно.

·>Т.е. проблема в том, что люди создают интерфейсы где попало, бормоча "во имя DI!", так что-ли? Ну такое надо лечить только ликбезом по мягким местам...


Так и я о том же. Но я выделил имхо общепринятый антипаттерн, о котором и написал пост. Пост ведь называется не "Какой же б-гомерзкий этот ваш DI, гореть ему в аду", а — "О "наивном" DI и об архитектурном бессилии".
Отредактировано 12.08.2016 8:21 IQuerist . Предыдущая версия . Еще …
Отредактировано 12.08.2016 6:53 IQuerist . Предыдущая версия .
Отредактировано 12.08.2016 6:05 IQuerist . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.