Back to course

Dependency Injection without Frameworks

Go (Golang) for Cloud-Native Microservices

Manual Dependency Injection

In Go, we don't need complex DI containers. We use Constructors.

go type Server struct { repo UserRepository }

func NewServer(r UserRepository) *Server { return &Server{repo: r} }

This makes testing easy because you can inject a "Mock" repository during unit tests.