大体架构是:表现层、控制层、应用层、领域层、基础层。
表现层和应用层交互的协定用DTO。先说说用DTO的原因,我的领域对象少的有20个属性,大的有40多个属性。而表现更多的是用到5-10个属性,更重要是为了不暴露Domain到控制层。
问题:多了这么多DTO,转换只能定义出每一个DTO向Domain转换的功能。总觉得很不合理,但又没办法,可能我设计有问题,所以特开一问来咨询大家。
这个时候你需要DTO 适配层、而且是 对于每个DTO对象都要提供一个双向的适配器--即能从领域对象转换成数据迁移对象、又能从数据迁移对象转换会领域对象。
Entity translator ,作为 DTO 和 Domain 之间的属性转换。
你可以参看Web Service Software Factory中的模式:http://msdn.microsoft.com/en-us/library/ff647889.aspx