nject
Golang type-safe dependency injection (by muir)
dig
A reflection based dependency injection toolkit for Go. (by uber-go)
nject | dig | |
---|---|---|
1 | 5 | |
28 | 3,696 | |
- | 1.1% | |
3.9 | 5.9 | |
11 months ago | about 2 months ago | |
Go | Go | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nject
Posts with mentions or reviews of nject.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-10-28.
-
godi a New Dependency Injection library - feedback welcome
For those who commented about Java & DI: I used DI with Java and hated it. It seemed to be simply a complex interface around global variables. Please take a look at [nject]([https://github.com/muir/nject]. The idea is fundamentally different: you create an injection chain out of reusable components. I won't say that it makes DI simple, but it does alter the cost/benefit ratio such that DI becomes very advantageous for several uses.
dig
Posts with mentions or reviews of dig.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-02-28.
- Injeção de dependência em Go
-
Go doesn’t do any magical stuff and I love that
Ironically given Spring’s history, you do have dependency injection in Go. But you don’t need to use it unless there’s a clear benefit. Most code reviewers would be appalled if you pulled in dig into a project that didn’t need it.
-
What's the best dependency injection framework / methodology for Golang for the enterprise?
Interesting, one of my friends works at a big tech company and they said they passed on Wire and ultimately decided on Uber Dig https://github.com/uber-go/dig. But looking at that lib it seems a bit anti-paradigm of the goal of the Golang language (no magic/obfuscated code running in the background, what you see is what you get style coding)
-
Is dependency injection in Go a thing?
It's a library to help with DI, by Uber: https://github.com/uber-go/dig
- Alternative for Monkey patching
What are some alternatives?
When comparing nject and dig you can also consider the following projects:
wire - Compile-time Dependency Injection for Go
fx - A dependency injection based application framework for Go.
linker - Dependency Injection and Inversion of Control package
goioc/di - Simple and yet powerful Dependency Injection for Go
wire - Strict Runtime Dependency Injection for Golang
gocontainer - Simple Dependency Injection Container
di - 🛠 A full-featured dependency injection container for go programming language.
container - A lightweight yet powerful IoC dependency injection container for the Go programming language