1

我知道这已经在各种帖子中得到了回答,但是使用VS2012with MVC4,我想知道是否有更新的方法或新的方法来做事。

我有一个包含 22 个项目的大型企业应用程序。它有一个复杂的大型业务对象/逻辑项目,并且有多个表示层。使用MVC 4. 我以前从未MVC以这种规模使用过。

以下是我的问题:

  1. 在这种情况下,人们如何处理模型?所有 Microsoft 示例都非常简单。
  2. 我看过关于自动映射器的帖子,并建议开发人员使用简单的模型并从 BO 层提取,但是其中一些工具(如自动映射器)似乎已经闲置了,现在有没有一个库MVC可以做到这一点?

我只是想在开始之前找出最佳实践,似乎通常我事后才弄清楚。

4

1 回答 1

0

我将我的 MVC 应用程序分成几个不同的项目。

  • AppName.Configuration:处理应用程序的任何配置(即拉入 web.config/app 设置等)
  • AppName.Data:这是执行所有数据库访问的数据层(无业务逻辑)。DBML/EDMX 在这里,我的存储库类也在这里。
  • AppName.Models:这是我为 MVC 定义的所有 ViewModel 以及整个应用程序所需的其他模型对象的地方。
  • AppName.Services:这是我的业务层,一切都必须经过这里才能到达数据层或表示层。ViewModels 是从数据库对象构建的,数据验证发生在这里,等等。
  • AppName.Web:这将是 MVC 应用程序。
  • AppName.Data.Test:数据应用的单元测试
  • AppName.Services.Test:服务的单元测试
  • AppName.Web.Test:MVC 控制器的单元测试
  • AppName.Web.UI.Test:Web 用户界面的单元测试(使用 WATIN)

我不使用任何自动映射器,因为我清楚地为应用程序的每个视图定义了一个特定的视图模型。如果视图不需要它,它就不会进入那里。

大多数 MVC 示例都非常基础,它们展示了 Web 应用程序中的所有内容(数据、模型、控制器中的业务逻辑等)

我希望这有帮助。

于 2013-01-20T12:38:56.523 回答