Rich Hickey (Clojure) does a good presentation on state, identity and  
values. It presents good concepts that define clean separation,  
immutability, and logic. I also tend to think about data as separate  
from logic. It makes the data transmittable and the logic  
distributable, both across threads and machines.

http://www.infoq.com/presentations/Value-Identity-State-Rich-Hickey

-bp


On Oct 28, 2009, at 5:43 PM, Christian Edward Gruber wrote:

>
> +1, generally speaking.  I think people sometimes get into this
> because D-I systems are a bit like meta-factories, and with assisted
> injection and providers, you can do factory-like things.  But it
> creates really tempting paths that lead to scoping problems.  In
> general, I like to keep value objects and services quite separate, and
> Entities (managed value objects) should be managed by a service, not
> by the Injector.
>
> cheers,
> Christian.
>
> On Oct 28, 2009, at 7:39 PM, Haulyn R. Jason wrote:
>
>>
>> Hi, just create a factory and use Guice to inject it. But I do not
>> think it's a good idea to add Service or Repository to Domains. You
>> may want to implement Evans DDD, but please check this
>> :http://www.udidahan.com/2008/02/29/how-to-create-fully-encapsulated-domain-models/
>>
>> If it is possible, do not add service or repository to Domains.
>>
>>
>>
>> On Wed, Oct 28, 2009 at 4:41 AM, Brian Pontarelli <[email protected]
>>> wrote:
>>>
>>> You could abstract out the domain creation and then post inject  
>>> using
>>> the injectInstance method (I think that is what it is called).
>>>
>>> -bp
>>>
>>>
>>> On Oct 27, 2009, at 2:14 PM, Jo Vanthournout wrote:
>>>
>>>>
>>>> I was wondering whether guice has a way of injecting domain  
>>>> services
>>>> in domain objects.
>>>>
>>>> This is particularly handy when using domain driven design. This
>>>> way,
>>>> domain objects themselves can be responsible for retrieving related
>>>> data and objects, which in turn results in better division of
>>>> responsibilities which results in a better OO design. All business
>>>> logic can be placed in the domain object (where it belongs) and the
>>>> need for rather artificial services that contain hidden business
>>>> logic
>>>> is minimized.
>>>>
>>>> The problem here is that domain objects (entities and value
>>>> objects as
>>>> they are called in domain driven design) are mostly constructed via
>>>> the new operator. Typically they are created by a framework like
>>>> hibernate, which pools the data for the domain object from the
>>>> database.
>>>>
>>>> Spring provides this functionality via load time weaving in
>>>> combination with the @configurable annotation. All the calls to the
>>>> new operator of the domain objects that are defined in the
>>>> application
>>>> context are intercepted and the correct dependencies are injected.
>>>>
>>>> Thanks for the information
>>>>
>>>> Jo
>>>> Belgium
>>>>
>>>>>
>>>
>>>
>>>>
>>>
>>
>>
>>
>> -- 
>> Many thanks!
>>
>> Haulyn Microproduction
>>
>> You can access me with the following ways:
>> Location: Shandong Jinan Shumagang 6H-8, 250000
>> Mobile: +086-15864011231
>> email: [email protected], [email protected]
>> website: http://haulynjason.net
>> gtalk: [email protected]
>> skype: saharabear
>> QQ: 378606292
>> persional Twitter: http://twitter.com/saharabear
>> persional Linkedin: http://www.linkedin.com/in/haulyn
>> Haulyn Microproduction Twitter: http://twitter.com/haulynmp
>>
>>
>> Haulyn Jason
>>
>>>
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
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