Это как и ООП. Есть люди, которые без ооп не могут. У нас на работе есть, которые ioc/di, все GoF паттерны, солиды хуёлиды в гошку пихают. Даже орм захреначили. Люблю их.
да замечательно работает, просто норм реализаций нет просто у некоторых при упоминании джавы и ее типичного кода идут бурные реакции (джава = спринг = di) все конечно от проекта зависит проксю на 200 строк можно наговнять хоть в одной функции целиком и не заморачиваться но что-то нормальное и серьезное я бы писать без di не стал, это уже тупо отрицание многолетнего опыта и протоптанных граблей миллионов разрабов и кучи языков (далеко не только в джаве di является стандартом бтв)
DI в раст упирается в две вещи: 1) отсутствие рефлексии - нельзя просто добавить параметр в конструктор и чтобы система прошлась по дереву зависимостей и сгенерировала нужные вызовы. даже макросы не помогут, так как нужно рекурсивно обращаться к типам, а макрос работает только с кодом, к которому применен. В теории можно было бы сделать DI на основе внешнего описания, то xml-конфиги DI это точно точно не про раст 2) боров чекер - у тебя будет большей одной ссылки на сервис, поэтому сервис окажется неизменяемым. а тогда его можно заменить просто функциями
Можно сделать и через макросы, но они должны быть реализованы особым образом (через разделяемую память).
Обсуждают сегодня