к тому, что он лишён всех перечисленных выше плюсов DI? Или отсутсвие этих плюсов не является такой уж проблемой? В конечном счёте все мы (разрабочики на разных языках) делаем примерно одно и тоже: разрабатываем какие-то системы, по большей части веб-приложения, все хотим иметь понятный, поддерживаемый и гибкий/расширяемы код. Но при этом в Java и современном PHP мире без DI считается «не гибко, слишком жёстко завязываемся на реализацию», а в соседних Ruby/JS/Go экосистемах отсутсвие DI не считают проблемой (хотя отдельные реализации есть, но в целом не в тренде)
они не всегда нужны имхо
Каких плюсов DI лишены Go/JS разработчики? Автосвязывания в связи с отсутствием информации о типах в рантайме? кодогенерация и информация о типах в компайлтайме в целом покрывают этот вопрос. А больше разницы как таковой и нет.
Обсуждают сегодня