【发布时间】:2012-03-17 20:40:40
【问题描述】:
服务不是面向对象的。假设我有一个基于 OOAD 的设计。我们可以使用 Translation Layer 将其转换为 DTO(没有任何行为)。但这会导致代码量的大幅增加。在 WCF 中(通过 C#)有哪些替代想法?
如果在 SOA 和 OOAD 之间进行这种转换是否是个好主意,请发表您的意见。当我们拥有 SOA 或使用此类映射技术时,我们是否应该完全避免 OOAD?
创建“特定于操作的 DTO”而不是创建“删除行为后直接从域中创建 DTO”是个好主意吗?是否有“特定于操作的 DTO 方法”的任何工具?
AutoMapper 是否产生“特定于操作的 DTO”或“来自没有行为的域的 DTO”?
注意:具体操作的DTO方法可以参考“Do not use Abstract Base class in Design; but in Modeling/Analysis”的答案
设计在业务实体和数据合同之间转换的转换对象。
参考文献:
【问题讨论】:
-
替代什么?您想在这里解决什么问题?
-
@Oded。 “翻译层”方法的替代方案
标签: .net wcf web-services c#-4.0 soa