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.

Reply via email to