Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion Dependency injection for Node.js. What do you think?
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Joe Developer  
View profile  
 More options Jul 27 2012, 6:10 pm
From: Joe Developer <joe.d.develo...@gmail.com>
Date: Sat, 28 Jul 2012 05:10:12 +0700
Local: Fri, Jul 27 2012 6:10 pm
Subject: Re: [nodejs] Dependency injection for Node.js. What do you think?

On Sat, Jul 28, 2012 at 4:27 AM, Rob Ashton <robashtondevelo...@gmail.com>wrote:

> Yeah, sorry

> Not a real developer, never worked on a real project, excuse me for my
> ignorance.

> Lol jking

> Sigh

Yes, by all means get your panties in a twist over an imagined slight,
princess.

I'd love to hear of your experience with dependency relationships captured
across a sea of files and nested within them to boot. My experience is that
it is the stuff of inefficiency, not many set out to have a static team,
you are growing, rotating or thrashing - approachable dependency maps can
save time and frustration.

Then there is the matter of on-demand loading and optimizing request
counts, so far I haven't seen a better value proposition in that regard
than the YUI3 approach.  Static analysis can disallow patterns that you
might otherwise want to make use of.

It is quite possible that app environments that aren't subject to the
somewhat unique demands and expectations as web apps are won't weigh or
leverage options in the same way, who knew?

> Sent from my iPhone

> On 27 Jul 2012, at 20:33, Joe Developer <joe.d.develo...@gmail.com> 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 <mfncoo...@gmail.com>wrote:

>> On Fri, Jul 27, 2012 at 8:07 AM, Rob Ashton <robash...@codeofrob.com>
>> 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 <eldar...@gmail.com> 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 nodejs@googlegroups.com
>> >> To unsubscribe from this group, send email to
>> >> nodejs+unsubscribe@googlegroups.com
>> >> 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 nodejs@googlegroups.com
>> > To unsubscribe from this group, send email to
>> > nodejs+unsubscribe@googlegroups.com
>> > 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 nodejs@googlegroups.com
>> To unsubscribe from this group, send email to
>> nodejs+unsubscribe@googlegroups.com
>> 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 nodejs@googlegroups.com
> To unsubscribe from this group, send email to
> nodejs+unsubscribe@googlegroups.com
> 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 nodejs@googlegroups.com
> To unsubscribe from this group, send email to
> nodejs+unsubscribe@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.