在asp.net-mvc中,有没有什么好的理由让你的模型保持在同一个项目中?

时间:2012-07-26 03:20:48

标签: asp.net-mvc model-view-controller model

我有一个asp.net-mvc网站,最近我想生成的电子邮件与我用来呈现网页的数据相同。如此缓慢但肯定地我开始将大量的模型和数据访问代码移动到一个单独的项目中,这样我就可以从命令行应用程序或服务等处理电子邮件生成(不依赖于任何Web内容)。 。如果我更进一步,我现在认为我应该将我的所有模型和数据访问代码移到MVC项目之外,这样它将来会有更多的证据。我知道MVC为您提供了Web项目中的默认Model文件夹。有没有理由把它留在那里?

我基本上想要保护自己不会意外地依赖我的模型或数据访问代码中的System.Web.MVC。

2 个答案:

答案 0 :(得分:2)

它使开发变得更快,因为只需要构建一个项目,但我发现将模型和数据访问代码保存在同一解决方案中的单独项目中是可取的。最大的优点是它非常容易使用模型其他项目,如API或其他网站。

答案 1 :(得分:1)

如果开始将模型提取到单独的项目中是有意义的,那么您应该这样做。我通常发现我从MyProject.Core和MyProject.Web开始,因为你想在某些时候与非前端类型的工作共享你的模型。

MyProject.Core将包含模型和我的持久层,我的Web项目将包含FrontEnd对象及其viewmodels,我使用Automapper绑定到我的模型。