Golang Dependency Injection Architect
Guides the implementation of testable, loosely coupled Go applications using manual dependency injection or industry-standard libraries.
This skill empowers Go developers to build scalable and maintainable service architectures by applying Dependency Injection (DI) principles. Acting as a Go software architect, it helps users choose between manual constructor injection and specialized libraries like google/wire, uber-go/fx, or samber/do based on project complexity. The skill facilitates the refactoring of tightly coupled code—identifying global variables and anti-patterns—while providing concrete implementation patterns for lifecycle management, lazy initialization, and interface-based design to ensure high testability and clean separation of concerns.