MVC - Business Objects

时间:2013-01-20 06:13:17

标签: asp.net-mvc visual-studio-2012

我知道这在各个帖子中得到了回答,但是VS2012MVC4一起使用,我想知道是否有更新的方法或新方法。

我有一个大型企业应用程序,其中包含22个项目。它有一个复杂的大型业务对象/逻辑项目,并具有多个表示层。使用MVC 4处理新的表示层。在此规模之前,我从未使用MVC

以下是我的问题:

  1. 在这种情况下,人们如何处理模型?所有Microsoft示例都非常简单。
  2. 我看过自动映射器的帖子,推荐deves使用简单模型并从BO层中提取,但是其中一些工具(如自动映射器)似乎已经空闲,MVC中是否有一个库可以执行此操作现在?
  3. 我只是想在开始之前弄清楚最佳做法,通常我会在事后知道它们。

1 个答案:

答案 0 :(得分:0)

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

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

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

大多数MVC示例都是如此基本,它们显示了Web应用程序中的所有内容(数据,模型,控制器中的业务逻辑等)

我希望这会有所帮助。