当前位置:  开发笔记 > 编程语言 > 正文

我何时以及为什么要考虑asp.net MVC?

如何解决《我何时以及为什么要考虑asp.netMVC?》经验,为你挑选了1个好方法。

我最近注意到很多关于asp.net MVC的讨论,但我没有遇到过关于何时,何地或为何要在WebForms上使用它的清晰或引人注目的描述.

假设我想构建一个允许一个人在线宣传某些项目的小型Web应用程序.该网站将有4个用例:

搜索广告

查看列表

查看项目

放置广告

我们假设:

我对我的控制器的单元测试不是特别感兴趣.页面将正确呈现项目列表,或者不会.

我有兴趣更多地控制HTML标记.

我对使用最新的嗡嗡声技术不感兴趣.

我感兴趣的是在最终解决方案的生产率,性能,可维护性和简单性方面使用最适合工作的工具.

我不想在一堆细微差别之间解决这些问题.

所以,我的问题是:

两种模型之间的根本区别是什么?

在哪种情况下哪一种比另一种更好?

asp.net MVC有什么问题(我知道WebForms的问题)

对于我们的示例应用程序,使用asp.net MVC而不是WebForms可以获得什么?

对于我们的示例应用程序,使用asp.net MVC而不是WebForms会丢失什么?

在同一小型应用程序中混合和匹配模型是否可行?

感谢任何花时间贡献答案的人.



1> Franck..:

两种模型之间的根本区别是什么?

WebForms尝试模仿WinForms开发,允许您重用大量预制控件,并通过隐藏的_VIEWSTATE机制伪造Web应用程序状态.

MVC是一种旨在帮助您分离数据(模型),业务逻辑(Controller)和表示(View)的模式.它更多地依赖于Web的真实本质:RESTful URL,无状态.

在哪种情况下哪一种比另一种更好?

在我看来,对于大量使用控件的Intranet应用程序,WebForms可以减少开发时间,因为感谢设计人员,您可以非常快速地创建UI并让框架自动管理应用程序的状态.

对于任何其他项目,特别是一个公共网站,甚至是一个小网站,我认为MVC是要走的路.

asp.net MVC有什么问题(我知道WebForms的问题)

我要说有一些学习曲线可以完全理解MVC模式及其功能.此外,由于框架仍在BETA中,因此您可以期望API在发布之前经历一些小的更改.

由于JavaScript在MVC中不会隐藏,因此如果您不熟悉它,还需要一些时间来学习.jQuery大大简化了这一点.

对于我们的示例应用程序,使用asp.net MVC而不是WebForms可以获得什么?

您可以更好地控制HTML标记和Javascript行为,更清晰地分离关注点和一些易于测试的代码库(即使您似乎对单元测试不感兴趣).

对于我们的示例应用程序,使用asp.net MVC而不是WebForms会丢失什么?

您将失去构建页面和应用程序状态管理的"拖放"快速方法.

在同一小型应用程序中混合和匹配模型是否可行?

在某些方面,似乎是的.

我建议观看Phil Haack的演讲,他对该框架给出了很好的概述,并邀请Jeff Atwood谈谈他是如何用它构建StackOverflow的.

他解释了SO如何使用CAPTCHA的一些WebForms控件将其自身呈现在视图中.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有