Hi Peter,

Thanks for this information, it has certainly helped to clarify some things in my mind.
With Cairngorm Enterprise one of goals is to promote an application model on the client (RIA) and a domain model on server. We see the application model being a good OO model that reflects the UI and tells us about the entities and their relationships that we are surfacing. It will also encapsulate all the business rules that apply to the UI. I see this being different to the domain model and the business rules that reside on the server.
The thing that is most interesting to me here is the talk of relationships because this is what seems to be lacking somewhat in the current Cairngorm paradigm. Not to imply that it can't be done, just that it doesn't seem to be part of the standard practice.
This sort of shifts the concept we have at the moment, whereby you call a command, which may invoke a service via a delegate. In essence we are going to move the delegates behind the model and have the command call an operation on the model.
This sounds promising. Where does this put the service locator?
In essence it would be nice to see VOs / DTOs being used for transporting data rather than making their way in to the view via the ModelLocator.
Again, glad to hear this is an issue for others as well. In simple cases, the VO is adequate because it sufficiently represents both the domain object and the view you want to take of it. When the relationships become more complex however, inconsistencies begin to arise. For example, when you have many-to-many relationships and such and you want to be able to traverse the object graph in bindings or whatever, you need to construct a more interconnected object graph rather than a collection of records as it were. Then you have the problem of how you get from A to B. Is there a best practice you are advocating for mapping and building object graphs out of data in DTOs? or is it left up to the specific requirements of the application?

Reply via email to