Как внедрять зависимости без фреймворка?

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

В Go dependency injection обычно делается руками — через конструкторы. Создаёшь функцию NewService(repo Repository, logger Logger) *Service, которая принимает интерфейсы. В main.go собираешь всё вместе: создаёшь конкретные реализации и передаёшь в конструкторы. Это явно, просто и не требует магии. Для больших проектов есть wire от Google — code generation для DI.

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

Как мониторить Go runtime metrics?