2011-02-15 65 views
1

我正在尝试使用MVC 3构建应用程序,我从一开始就知道应用程序将相当复杂,其中包含许多不同的功能部分。MVC 3破解组织

我试图做的是将这个功能分成包含视图的类库,我已经将类库的构建文件夹设置为MVC应用程序中的一个区域文件夹,并复制了Wayne Haffenden's的Razor视图引擎blog post这一直没有奏效。

我也尝试过使用MEF,我可以使用MVC2但不使用MVC3。有没有人有任何建议,我可以做到这一点,甚至更好的几个例子,这一切都已准备就绪。

谢谢。

+2

您是否有物理上的需求来分离组件?如果没有,请使用文件夹。不要仅为组织目的创建新的程序集。正如你所看到的,它们的成本非常高,听起来好像没有理由。 – jfar 2011-02-15 16:42:11

回答

0

我有一个相当大的MVC 3应用程序(3个站点),我在其中广泛使用区域。我的控制器从存储库中获取所有数据(从另一个项目引用),并且我有另一个名为MyProject.Web.Shared的项目,其中包含常用代码,如属性,过滤器,扩展,HtmlHelpers等。

尽管我有一点点在我看来,代码重复我认为它在DRY原则和可扩展性之间取得了很好的平衡,因为我将所有网站(和视图)视为单个实体,因为每个网站的需求可能随时间而改变。我发现使用Areas来分离单独的功能非常好。