Нужен ли DI фреймворк в Go?

Middle
724 просмотров
AFK Offer AI

Короткий ответ — обычно нет. Go-философия: явное лучше неявного. Ручной DI через конструкторы и интерфейсы прекрасно работает для большинства проектов. Ты видишь весь граф зависимостей в main.go, IDE подсказывает типы, компилятор ловит ошибки. DI-фреймворки (wire, dig, fx) полезны, когда у тебя сотни сервисов и граф зависимостей огромный — вручную связывать утомительно. Но в типичном проекте на 10-20 компонентов это overkill. В нашем проекте всё связывается вручную в main.go и это отлично читается.

Следующий вопрос

Как спроектировать URL shortener?