Complementing what Fred said,

You can still use your factories while using Guice, they dont exclude each
other. Using Guice in addition with your factories you'll add inversion of
control to your software, and the consequences of it you already know.

These desired side-effects caused by you factories can still be used
through http://code.google.com/p/google-guice/wiki/ProviderBindings and you
can bound the implementations provided by this class to a given interface
inside your module. And if you want to change the implementation in the
future you must just change the code of the provider or the provider itself.
:)

Atenciosamente,

*Jayr Motta*
Software Developer
*
*
I'm  on 
BlackBeltFactory.com<http://www.blackbeltfactory.com/ui#!User/jmotta/ref=jmotta>
!



On Thu, Apr 7, 2011 at 4:56 PM, Fred Faber <[email protected]> wrote:

> The Factory that you describe is a domain-level entity, in that it is
> performing more work than simply object instantiation.
>
> You may retain use of such factories and incorporate Guice:  the two are
> certainly not mutually exclusive.
>
> The merge step is to ensure you use Guice and not "new" when your factory
> creates instance of  a class.  To do this, inject a Provider<> into your
> Factory, or otherwise return an injected instance.
>
> Fred
>
>
> On Thu, Apr 7, 2011 at 3:22 PM, Tristan de Inés <
> [email protected]> wrote:
>
>> Hi there,
>>
>> I believe that one of the main uses of factories besides dependency
>> management, decoupling the interface from the implementation, and
>> instance configuration is running "extra code" whenever a new instance
>> is requested. What if I want to notify listeners, make sure all new
>> instances are put into a certain collection, have some log output,
>> etc, on every instance request to a factory? "Side effects" like these
>> are easily accomplished inside factory methods. I see what google-
>> guice does for me, but I may be overlooking something, because I'm not
>> sure how I would go about replacing my factory-heavy dependency
>> management with google-guice without sacrificing the flexibility of
>> these "side-effects" in my factory methods.
>>
>> Is this a conscious limitation of google-guice or a design issue on my
>> part? Input appreciated.
>>
>> Regards
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "google-guice" 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/google-guice?hl=en.
>>
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "google-guice" 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/google-guice?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" 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/google-guice?hl=en.

Reply via email to