首次使用ASP.NET MVC时的主要风险

Ric*_*ett 10 asp.net-mvc

我们计划在一个相对重要的(对业务)项目上使用ASP.NET MVC.开发团队由4名开发人员和技术主管组成.两位开发人员和技术主管之前曾在ASP.NET WebForms项目上合作过,并对使用该技术充满信心.

当我们回顾一些第一个WebForms项目中使用的一些方法时,我们会有点畏缩(例子包括过度使用UpdatePanels,缺乏对ListView等控件的知识,膨胀的ViewState等).

重要的是我们不要在一年内回顾这个项目,并对我们的一些ASP.NET MVC方法感到畏缩!

根据经验,在第一次使用ASP.NET MVC时,是否有任何人可以引用任何关键风险?

我正在考虑陷阱,需要一段时间才能继续进行的灯泡,你认为自己正在战斗的框架的一部分,直到你学会了一个特定的项目,那种事情.

Mic*_*tum 7

使用强类型视图并为每个视图创建新模型

原因很简单:这是为了确保您的模型从您的视图中分离出来.如果你需要进行重构,你只能打破一个部分.因此,如果您有一个名为"最新消息"的视图,则应该有一个"LatestNewsViewModel".然后,控制器的工作是从实际的模型/数据库中获取数据,并创建一个传递到视图中的视图模型.此外,如果您决定在View中需要其他内容,则无需重构整个数据访问层,因为您只需更改ViewModel和填充它的Controller操作.

性能

我建议查看此幻灯片,了解可能产生巨大影响的性能问题和优化.


Cha*_*ert 2

我所看到的最大风险来自于回归无状态媒介。

回发不见了。大多数服务器控件都消失了。视图状态消失了。事件驱动模型已经消失。

如果您的开发人员仅使用 asp.net Webforms 来构建网站,而从未使用过其他 Web 技术,那么他们需要大量学习。

  • 我同意这可能需要大量的学习,但这是很好的学习;-) 不幸的是,很多 Web 表单开发人员对 Web 知之甚少,在许多情况下不如典型的经典 ASP 开发人员,后者至少必须考虑一下HTTP POST 和 GET,尽管大部分代码最终都像意大利面条一样。我相信 Web 表单人员了解 MVC 是有益的,因为这意味着他们将了解 Web 应用程序中真正发生的情况。我不同意这是对无状态媒介的_回归_。网络一直是一种无状态的媒介,只是网络表单以一种相当笨拙的方式隐藏了事实。 (2认同)