我已经在ASP.NET MVC中构建和应用程序,它开始是一种学习该技术的方法。但是,应用程序(以及我对MVC的了解)已经取得了进展,我想使用我在其他应用程序中创建的部分功能。例如,我有2个网站都希望使用相同的新闻控制(CRUD)模型和控制器方法,但有自己独特的视图。我想我的问题是: 这违反了MVC的原则吗? 2.实现这一目标的最佳方法是什么? 3.是否有一种“最佳实践”方式来重用我现有的功能?
提前感谢您的任何答案。
答案 0 :(得分:1)
根据您的具体要求,我建议您查看Rob Ashton's上的multi-tenancy in ASP.Net MVC系列,以及MVC Contrib的便携式区域部分。
答案 1 :(得分:0)
您可以设置一个Visual Studio解决方案,在该解决方案中,您将拥有一个包含模型,控制器和数据访问的公共类库项目,以及两个仅包含两个站点的视图和CSS的Web应用程序,这两个站点都引用相同的控制器和模型。 / p>
答案 2 :(得分:0)
希望您的大多数逻辑已经分离出来,但您也可以将控制器拉出到单独的程序集中,我相信:
答案 3 :(得分:0)
重用是MVC概念的核心部分。在生产MVC站点中,为模型提供单独的程序集(或程序集)是很常见的。为控制器做同样的事情(但仍然完成)有点不太常见。 S#harp架构项目(例如)对所有内容使用单独的程序集,只在Web程序集中留下视图,内容和global.asax。这一切都很好。
你可以考虑的另一件事是使用区域,就像迷你MVC应用程序,你可以在你的'主'应用程序中引用。这是一个很好的方式来打包你描述的可重复使用的部分。
保