javascript

IoC: DI vs Ambient Context

  • среда, 5 марта 2025 г. в 00:00:11
https://habr.com/ru/articles/887646/

На днях с коллегой @nin-jin возник небольшой спор в комментариях к статье "ООП: худшее, что случалось с программированием". Мы обсуждали, что является истинным IoC: "контекст окружения" (Ambient Context) или же "внедрение зависимостей" (Dependency Injection).

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

Другие наши коллеги могут посчитать этот опрос бессмысленным, типа популярные практики не могут быть хорошими априори. Я же считаю, что более популярные практики прошли более тщательную проверку жизнеспособности, чем их менее популярные аналоги. Популярность практики прямо пропорциональна вероятности того, что твою текущую проблему уже кто-то когда-то решил с её помощью. А зачастую решены и те проблемы, о которых ты пока даже и не подозреваешь.

Прошу воспринимать этот опрос в легком и неформальном ключе. Мне просто интересно, какой из этих двух методов более распространен среди хабровчан.

Я специально не даю ссылки на описание того или иного метода. Популярность подразумевает, что это известные методы. И я добавил хаб "$mol" в список хабов для данной публикации. Уверен, что его пользователи проголосуют за "не мой" вариант, но мне любопытно, насколько сильно деформирован мой взгляд на мир.

Всем добра и happy coding'а, как говорится!

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Какой метод инверсии управления (IoC) вы предпочитаете использовать?
7.14% Я предпочитаю не использовать IoC.1
7.14% Я предпочитаю использовать Ambient Context (AC).1
71.43% Я предпочитаю использовать Dependency Injection (DI).10
14.29% Я предпочитаю использовать другой метод реализации IoC.2
Проголосовали 14 пользователей. Воздержавшихся нет.