【发布时间】:2010-07-15 01:02:23
【问题描述】:
我看到 DTO 类型在域模型中创建并在类型之间传递。这是好习惯吗?
我一直认为 DTO 主要用于上下文边界(即对象图的边缘)以解耦上下文实现(例如在域/ui 边界)。
【问题讨论】:
-
根据我自己的感觉和目前的反应,我的目标是从域模型中分解出 DTO,并将它们推到我可以的边界,使用 Automapper 将域映射到 DTO。
-
+1 用于 AutoMapper,这就是我在 Entity Framework 模型中使用的。如果您将 EFv4 与 VS2010 一起使用,请告诉我。我有一些很棒的 T4 模板,可以自动创建 DTO 类、AutoMapper 配置以及类和扩展方法,以便在 DTO 和实体类型之间轻松转换(包括从 DTO 对象图中删除循环的能力,因此您可以轻松序列化为 JSON使用 DataContractJsonSerializer)。
-
@Samuel - 感谢 T4 的报价!不幸的是,我正在使用 NHibernate...
标签: dto software-design domain-model