Ahh awesome. I misunderstood what you meant. Happy Guicing =), Nate
On Thu, Oct 2, 2014 at 2:39 PM, Kevin Burton <[email protected]> wrote: > Yes... totally agree. I don't really think that's what I was referring too. > > What I was saying was that you should just have all your services ahead of > time, that you need. > > The object that's needed in the hypothetical 'if' block that I was talking > about would be created by the injector ahead of time. > > It's a direct dependency... > > On Thursday, October 2, 2014 11:35:30 AM UTC-7, Nate Bauernfeind wrote: >> >> I'm going to point you in the direction of a Guice best-practice >> guideline which strongly suggests not doing what you've chosen to do. >> >> https://github.com/google/guice/wiki/InjectOnlyDirectDependencies >> >> Specifically, months down the road what if MyObject also needs a >> BarService? And then a BazService? Now you're going to have a bunch of >> hand-written specific code to do exactly what Guice is supposed to do for >> you for free. When does the madness end?! =) >> >> Good luck, >> Nate >> >> On Thu, Oct 2, 2014 at 12:41 PM, Kevin Burton <[email protected]> wrote: >> >>> I think I answered my own question :-P >>> >>> I think the strategy is to always inject in the constructor. This way >>> the entire application won't startup. >>> >>> Even if it's rarely used, having it from the start of the application >>> will fix these problems and your app won't compile without this object in >>> the constructor. >>> >>> >>> On Wednesday, October 1, 2014 9:33:42 PM UTC-7, Kevin Burton wrote: >>>> >>>> I'm curious what the best practice is here. >>>> >>>> Let's say that deep in your code you wanted to create a new instance of >>>> MyObject and pass it a FooService... >>>> >>>> One could use an injector to do this.. but what if we actually forgot >>>> to bind anything to FooService? >>>> >>>> You would deploy your application, it would be running just fine for >>>> months, then all of a sudden you would need FooService and your app would >>>> fail. >>>> >>>> How does one avoid that scenario? >>>> >>>> If you used explicitly provided dependencies, your app would fail at >>>> compilation time. >>>> >>>> Now we've postponed to fail at run time.. which is not fun. >>>> >>>> Any solutions here? >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "google-guice" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at http://groups.google.com/group/google-guice. >>> To view this discussion on the web visit https://groups.google.com/d/ >>> msgid/google-guice/579a3e9d-c1b6-47f2-b21b-8a7b0f56824b% >>> 40googlegroups.com >>> <https://groups.google.com/d/msgid/google-guice/579a3e9d-c1b6-47f2-b21b-8a7b0f56824b%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > You received this message because you are subscribed to the Google Groups > "google-guice" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/google-guice. > To view this discussion on the web visit > https://groups.google.com/d/msgid/google-guice/6d7498ba-348b-436e-b423-e5a609ccf279%40googlegroups.com > <https://groups.google.com/d/msgid/google-guice/6d7498ba-348b-436e-b423-e5a609ccf279%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "google-guice" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-guice. To view this discussion on the web visit https://groups.google.com/d/msgid/google-guice/CAHNex9-vZbr47ngby4AB%2BY0Vc7W4KtfUdmOa0xoeMo%2Bx%2B1e6rw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
