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.

Reply via email to