1

我的域层中有一些映射对象[实体],需要由我的 Web 服务使用,它将这些映射对象暴露给外部世界。这些映射对象的正确位置在哪里?您将如何构建映射对象以及它们的正确位置在哪里?

我的项目是一个 MVC5 .NET 项目,它使用实体 framework6 并具有以下层:

UI+应用层域层(Entities.MappedObjects 是我现在放置映射对象的地方)基础设施层(是否所有管道和访问数据库)

4

2 回答 2

1

如果您遵循 Code First 方法,那么您的域模型对象(这是域模型最重要的部分)与 Entities.MappedObjects 相同。

所以它们属于领域层。

在 Code First 方法中,您的对象与持久性无关,而在 Database First 方法中,您失去了架构干净模块化的灵活性,因为您的对象只是数据库表,而您的持久性问题会泄漏到其他层。

于 2014-02-21T16:17:29.713 回答
0

如果您将模型对象与您的 Web 服务公开的 DTO 分开,那么您的 DTO(您的MappedObjects)应该驻留在服务层而不是域层。

如果MappedObjects是您的实际域对象,并且您不介意通过服务将您的域泄漏到“外部世界”,那么它们可能在您现在拥有它们的地方就可以了。

于 2014-02-21T16:20:48.457 回答