0

我们正在启动新项目,该项目将使用 MVC3 和 mongoDB 进行数据库存储。谁能指出我们更好的项目架构。

我们有以下查询:

  1. 我们可以在 Visual Studio 解决方案文件中有 Project.Data(用于对 mongoDB 的数据访问)、Project.WEB.UI(MVC)、Project.Core(业务逻辑)- 3 个项目吗?
  2. 哪里有模型课?在 Project.Core 中?如何在这些项目之间共享模型?
  3. 如果有人有这种架构并且有一些示例类和接口(在 VS 项目文件中),请为我分享
  4. 我们还需要数据模型来与 mongodb 交互吗?把这些模型放在哪里?我们可以在所有项目中共享这些模型吗?任何工作代码都受到高度赞赏。

注意:我已经看到了一些其他的 SO 问题,而且这些问题并没有直接回答我的问题。

提前致谢。

4

1 回答 1

1

在我参与的一个项目中,我们最终将您拥有的核心和数据结合在一起。最初,我们将关注点与服务中的业务逻辑和具有 Mongo 查询的 DAL 完全分离。因为当您使用 MongoDB 时,它与使用 RDBMS 完全不同,我们发现我们的大部分业务逻辑都是以特定于 Mongo 的方式编写的,所以我们组合了这些层,因为我们似乎有一个冗余层,如果我们确实决定回到 RDBMS,我们可能会重写一些逻辑。

至于您的问题,您的 Domain 对象是您的 Mongo 实体,所以我会将它们放在您的数据层中。然后,我会在您的 WEB 项目中拥有您的 MVC 模型,并使用 Automapper 在它们之间进行映射。

于 2012-09-04T07:17:03.320 回答