Re[6]: О пользе Dependency Injection
От: SkyDance Земля  
Дата: 08.02.21 06:51
Оценка:
SD>>Более удобным подходом было бы уметь генерировать граф зависимостей путем непосредственного анализа исходного кода.
НС>Для чего более удобным?

Для тестирования, рефакторинга, и просто понимания — что от чего зависит, и где что сломается, если поменять вот этот компонент.

SD>> Однако там есть свои грабли, например, как понимать такую зависимость:

SD>> if (random(100) < 50) then add_dependency_on(AnotherComponent)
НС>А как такая зависимость, по твоему, понимается в случае DI? Разница тут будет только в случае вызова метода Resolve, что тут все заклеймили позором как антипаттерн..

Да мало ли что где клеймят. Если у тебя есть только одна сущность — "name" — а для работы с реальным миром нужно этот "name" во что-то развернуть, то хошь как хошь, а "Resolve" придется реализовать. Вопрос только в том, когда Resolve будет работать. Если во время компиляции — все чудесно, можно обложить тестами, можно научить IDE ходить по ссылками.

А если в рантайме, да где-то в каком-нибудь "DI container", да еще и на другом языке программирования (а то и вовсе на другой машине, — привет, DNS и аналогичные механизмы) — проще повеситься.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.