Re[2]: О "наивном" DI и об архитектурном бессилии
От: IQuerist Мухосранск  
Дата: 29.07.16 07:26
Оценка:
Здравствуйте, Sinix, Вы писали:

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


IQ>>Ребята... вот эта низкоуровневая "требуха" это что ли "сервис"? Вот эти все "внутренности наружу" это инкапсуляция и архитектура?


S>Как мне кажется, этот момент — следствие попытки натянуть "классический" DI на все остальные области.


Да, это и есть "наивный DI". В ограниченном инструменте видят решение.

S>К сожалению, DI в чистом виде абсолютно непригоден для использования в тяжёлом биз-коде. Там от DI требуется не закинуть сервисы и отдать объект, а способ протащить эти сервисы по длиннющей цепочке вызовов, причём состав зависимостей часто заранее неизвестен и определяется в рантайме. Для дотнета обсуждали вот тут
Автор: LWhisper
Дата: 30.05.16
.


Да... протащить контекст по длиннющей цепочке бизнес решений. Поэтому хорошая декомпозиция там жизненно важна.

S>UPD, P.S. Не стоит налегать на SOLID как на аргумент в спорах. Его к сожалению воспринимают как волшебную палочку, хотя на практике подход "потому что SOLID" работает не лучше, чем самолёт из культа карго. Голову никто не отменял


Так ведь часто использование DI только этим самым SOLID и объясняют. Мол нам позарез надо уменьшить зависимость иначе не по SOLID, иначе опять получится говнокод.

Хм... неплохой мем — внедрение Colonoscopy Injection не влияет на количество говнокода, оно лишь добавляет посторонние предметы
Отредактировано 29.07.2016 7:33 IQuerist . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.