News for hackers. Stuff that matters.
Re:Go += Package Versioning by neoasterisk on Wednesday February 21, 2018 @03:07AM (#16427784)
Dependency injection is very commonly used in the Go ecosystem. Do not confuse resistance about unidiomatic DI frameworks with resistance about DI itself.
Re:Go += Package Versioning by Groxx on Wednesday February 21, 2018 @09:25PM (#16434726)
Which ones are common? I've been hoping this would be the case, but I've been unable to find evidence for it.

e.g. the most-popular one I can see so far is Facebook's "inject", which has a remarkably small 841 stars: https://github.com/facebookgo/inject

Even Glide, Godep, and Dep have several thousand. And those can barely claim "most", much less "very common".

Re:Go += Package Versioning by neoasterisk on Thursday February 22, 2018 @05:32AM (#16436629)
What do you mean which ones? I am talking about dependency injection as a technique/pattern. In Go you can just do it without importing anything.

Please read:

https://medium.com/@benbjohnson/standard-package-layout-7cdb...

(I've linked to the exact point in the article where it talks about DI but you might want to read the rest as well.)

Re:Go += Package Versioning by Groxx on Thursday February 22, 2018 @04:49PM (#16441751)
Yeah, it's widespread as a hand-coded thing. It has to be - you essentially have no choice in Go for even basic things like tests.

But that just means that everyone rolls their own thing by hand, with widely-varying feature-sets, method names, bugs, etc. DI frameworks are very much nicer for interop between a bunch of libs.