Hi Gophers, I would love some feedback on this automatically-concurrent dependency injector I wrote:
https://github.com/samsalisbury/psyringe <https://github.com/samsalisbury/psyringe> Its design stemmed from the needs of a CLI app I am writing which has a lot of external interrelated dependencies that need to be initialised as quickly as possible to keep the app responsive. Therefore the main thrust of this project is automate optimal ordering of dependency initialisation, to get them all created and injected as quickly as possible. A secondary aim was to keep the interface as small as possible, and to avoid having to refer to psyringe types everywhere, which I feel has been satisfied so far. There is definitely some room for improvement, e.g.: - Support for context/cancellation a la golang.org/x/net/context - Allowing limiting concurrency (right now it is unbounded) - Providing some kind of debug/tracing of internal operations - More examples - Lazier injection via func fields, rather than concrete values. However, not many people have seen this, so I am excited to hear any and all feedback on the idea, and especially ideas for improvement. Thanks, Sam -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.