Yeah, sorry Not a real developer, never worked on a real project, excuse me for my ignorance.
Lol jking Sigh Sent from my iPhone On 27 Jul 2012, at 20:33, Joe Developer <[email protected]> wrote: Erm, outside of the amateur hour projects just such functionality exists: http://blog.endpoint.com/2011/02/locally-served-yui3.html And yes, once you have had the pleasure of using it on non-trivial apps you miss it dearly when dealing with the ad-hoc structured or 'good enough rolled' alternatives. On Fri, Jul 27, 2012 at 11:47 PM, Martin Cooper <[email protected]> wrote: > On Fri, Jul 27, 2012 at 8:07 AM, Rob Ashton <[email protected]> > wrote: > > Do we need dependency injection in nodejs? Well - if you mean dependency > > injection literally, we have it already, it looks like this > > > > function doSomething(dependency) { > > > > } > > > > doSomething(new FooDependency()) > > > > or > > > > doSomething(new BarDependency()) > > > > or > > > > var Animal = function(vocals) { > > this.vocals = vocals > > } > > > > var cat = new Animal(miaow) > > cat dog = new Animal(woof) > > > > etc > > > > ---------- > > > > If you're talking about 'container' support to support this, it's a road > > that has been trodden well by .NET and Java devs, and has been shown time > > and time again to lead full circle to the very beginning where you just > > build your object graphs manually and introduce extensibility points > where > > you need them for either mocking out slow dependencies for testing or > > allowing consumers to control something about your code. > > > > Trying to bake in support to this as part of the require system seems > like > > asking for trouble, keep it explicit, keep it as needed and let the > goodness > > follow. > > I agree with this. If you need dependency injection, design it into > your system. Don't force it on unsuspecting modules. > > A couple of things that come to mind off the top of my head: > > * If I compel some module to use, say, 'my-funky-fs' instead of 'fs' > without knowing it, will that cause *its* dependencies to have their > usage of 'fs' replaced too? What if one of them was already replacing > it with something of its own choosing, perhaps using a different > mechanism (like maybe graceful-fs)? > > * If someone reports an issue with one of my packages, and I spend a > bunch of my time debugging it, only to discover that the reporter > replaced one of my dependencies with some other flaky substitute and > that's the culprit, I'm not going to be happy about that. I design my > packages to work with their declared dependencies, or I specifically > design for dependency injection if it's needed. > > > My two cents. > > And mine. :) > > -- > Martin Cooper > > > > On Fri, Jul 27, 2012 at 4:45 PM, Eldar <[email protected]> wrote: > >> > >> Do we need this in Node? > >> > >> My answer is yes we need some (simple) way to specify the app level > >> dependencies at runtime. Here is my take on this. Please checkout and > let > >> me know how do you feel about. > >> > >> But the idea is very simple: > >> > >> > >> // inside any index.js > >> var R = require('runtime').patchNative() > >> var use = R(module).use > >> > >> use('fs', 'node_modules/third/party', require('./smart-fs')) > >> > >> That's it. Third party module just uses our smart file system > >> > >> -- > >> Job Board: http://jobs.nodejs.org/ > >> Posting guidelines: > >> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > >> You received this message because you are subscribed to the Google > >> Groups "nodejs" group. > >> To post to this group, send email to [email protected] > >> To unsubscribe from this group, send email to > >> [email protected] > >> For more options, visit this group at > >> http://groups.google.com/group/nodejs?hl=en?hl=en > > > > > > -- > > Job Board: http://jobs.nodejs.org/ > > Posting guidelines: > > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > > You received this message because you are subscribed to the Google > > Groups "nodejs" group. > > To post to this group, send email to [email protected] > > To unsubscribe from this group, send email to > > [email protected] > > For more options, visit this group at > > http://groups.google.com/group/nodejs?hl=en?hl=en > > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en
