MVC 3 Soulution组织

时间:2011-02-15 16:13:50

标签: asp.net-mvc asp.net-mvc-3

我正在尝试使用MVC 3构建一个应用程序,我从一开始就知道应用程序将相当复杂,包含许多不同的功能区域。

我试图将此功能分离到包含视图的类库中,我已将类库的build文件夹设置为MVC应用程序中的areas文件夹,并从Wayne Haffenden的{复制Razor视图引擎{3}}这根本没用。

我也试过使用MEF,我可以使用MVC2而不是MVC3。有没有人有任何关于如何实现这一点的建议,或者更好的一些例子,其中已经做好了准备。

感谢。

2 个答案:

答案 0 :(得分:0)

您可以尝试为此提供支持的MvcContrib's portable areas。但总的来说,我同意jfar,将MVC项目分成不同的程序集(包括视图)现在并不容易。

答案 1 :(得分:0)

我有一个相当大的MVC 3应用程序(3个站点),其中我广泛使用区域。我的控制器从存储库中获取所有数据(从另一个项目引用),我有另一个名为MyProject.Web.Shared的项目,它包含公共代码,如Attributes,Filters,Extensions,HtmlHelpers等。

虽然我的观点中有一些代码重复,但我觉得它在DRY原则和可扩展性之间取得了很好的平衡,因为我将所有网站(和视图)视为单个实体,因为每个网站内的需求可能会发生变化随着时间的推移。我发现使用区域分隔单独的功能非常有效。