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.
My two cents.
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<https://github.com/eldargab/node-runtime>.
> Please checkout and let me know how do you feel about.
>
> But the idea is very simple:
>
> // inside any index.jsvar 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