This is a really interesting topic, and there have been a lot of good comments. However, no one has brought up the issue concerning the reality that the model...
... the model used for a system that's only going to be deployed on one machine. I think it would be more accurate to say that the design of a distributed ...
Richard I totally agree. If a client calls on a domain object to discharge one of its responsibilities, and the domain object's implementation of that...
Yes, actually I didn't express my thought clearly. the userDomain appeared in my code stands for the meaning of "domain for user management", which is a facade...
Firstly let me say sorry for my "stupid" question. Because I'm a newbie on SOA and DDD fields. SOA is very hot in these years. But I think no matter what SOA...
Should DTOs maintain the object relations? For example if I have two Entities: User and Forum. A user could be the moderator of several Forums, and a Forum of...
Another post that seems to be related to my question is here: http://geekswithblogs.net/opiesblog/archive/2006/08/18/88396.aspx please also take a reference to...
... If the clients of DTO have no use for such a relationship, I don't see why you would have to implement it. In my experience, even when I have bidirectional...
Hi, thx for your suggestion Greg. Implementing an observer mechanism is a trivial task since it is pretty much baked into the language we are using so that...
Hi, Scope differs a lot. DDD's target is a specific domain, while SOA is an architectural organization to cross domain boundaries. Some advanced DDD concepts...
"DDD [...] is the basis of SOA" I love it! Can I reuse that phrase in presentations? I mean many SOA approaches are so focused on services so they foreget the ...
Hi, I think that SOA is an architectural perspective that "doesn't care" about how the domains are implemented inside the applications. SOA provides a set of...
... Randy, Do you directly use a repository from a domain object? If yes, it ends up with circular dependency between them. Repository interface can solve this...
Jesse, ... Then for the same reason you should use the entity interface as well. You also need a mechanism that returns a reference to those interfaces. I am...
I agree with Zdeslav here. I am the guy who wrote that blog post a looooong time ago and the redundancy in DTOs was frustrating me. However I have discovered...
... Can you write an object that makes the request and blocks until it gets the response? For example: users = userRepository.loadAll(); loadAll() -> make...
In the way I see it, SOA and DDD are very much compatible. SOA is more concerned with creating services from parts of functionality and being able to couple...
David, I'm not sure what you mean by always using the entity interface. Concrete entities live in the domain, repository implementations shouldn't be created...
Hi Pat, that might be possible although I haven't tested this. The problem I see is that the UI will be locked/frozen until the response is received because...
Hi, Thank you all for your replies. So I can make a conclusion that, what the DTOs would look like just depends on the need of transferring data from one layer...
Yes, I agree with you on the term "Service". Actually Service in SOA means the enterprise service while the Service in DDD stands for domain services. In my...
Yes of course you can! :) SOA is really a good concept to implement the enterprise-level applications. But as I know in many situation we make the wrong use ...
Hi, A unit of work pattern, if my understanding is correct, is used to minimize roundtrips to database. If this is the case, let's say I create a new object ...
I would probably check if an object is already in the UOW.NewObjectList before adding it to the UOW.ChangedObjectList, and if it is I would not add it to the...
DTOs address a different problem than domain entities. They are used to exchange information between consumers and providers. So they are designed to expose...
Or don't put new objects in the ChangedObjectList when they are updated. There should be no need to because the object doesn't yet exist in the database, and...