e good encapsulation of the domain entity , DDD suggests do not expose the setters of the domain entity to the client. Instead , client can only change domain entity 's properties through some business methods defined on the domain entity.
But some presentation layer technology such as JSF requires the model in the UI backing bean has the standard getter /setter Java bean convention.
If the structure of the entity that is required to be handled by the UI is exactly the same as the domain entity , we cannot directly bind the domain entity to the JSF 's UI backing bean .Instead , I always have to make a DTO for each entity and convert the domain entity to this DTO such that it can be handled by the JSF. It seems that a extra layer of complexity is added in such case as we have to maintain a set of domain entity and its DTO which are exactly have the same structure.
queue the naked objects guys ....
and i meant cue :)