我最近注意到很多关于 asp.net MVC 的讨论,但我还没有找到关于何时、何地或为何要在 WebForms 上使用它的清晰或令人信服的描述。
假设我想构建一个小型 Web 应用程序,允许人们在线宣传某些商品。该网站将有 4 个用例:
我们假设:
- 我对控制器的单元测试不是特别感兴趣。该页面要么正确呈现项目列表,要么不正确呈现。
- 我对对 HTML 标记的更多控制感兴趣。
- 我对仅仅为了使用最新的流行技术不感兴趣。
- 我有兴趣使用在最终解决方案的生产力、性能、可维护性和简单性方面最适合该工作的工具。
- 我不想为了让一些简单的工作而必须解决一堆细微差别。
所以,我的问题是:
- 这两种模型之间的根本区别是什么?
- 在哪种情况下,一种比另一种更好?
- asp.net MVC 的问题是什么(我知道 WebForms 的问题)
- 对于我们的示例应用程序,使用 asp.net MVC 而不是 WebForms 可以获得什么好处?
- 对于我们的示例应用程序,使用 asp.net MVC 而不是 WebForms 会损失什么?
- 在同一个小型应用程序中混合和匹配模型是否可行?
感谢任何花时间提供答案的人。
WebForms 尝试模仿 WinForms 开发,允许您重用大量预制控件,并通过隐藏的 _VIEWSTATE 机制伪造 Web 应用程序状态。
MVC 是一种旨在帮助您分离数据(模型)、业务逻辑(控制器)和表示(视图)的模式。它更符合网络的本质:RESTful URL,无状态。
在我看来,对于大量使用控件的 Intranet 应用程序,WebForms 对于减少开发时间很有用,因为有了设计器,您可以非常快速地创建 UI,并让框架自动管理应用程序的状态。
对于任何其他项目,尤其是公共网站,即使是小项目,我认为 MVC 是最佳选择。
- asp.net MVC 有哪些陷阱(我知道有哪些陷阱)
网络表格)
我想说,要完全理解 MVC 模式及其强大功能,需要一些学习曲线。此外,由于该框架仍处于测试阶段,您可以预期 API 在发布之前会经历一些细微的变化。
由于 JavaScript 在 MVC 中并没有对您隐藏,因此如果您不熟悉它,也需要一些时间来学习。不过 jQuery 极大地简化了这一过程。
- 对于我们的示例应用程序,使用 asp.net MVC 而不是
网络表格?
您将更好地控制 HTML 标记和 Javascript 行为、更清晰的关注点分离和一些易于测试的代码库(即使您似乎对单元测试不感兴趣)。
- 对于我们的示例应用程序,使用 asp.net MVC 而不是我会失去什么
网络表格?
您将失去构建页面和应用程序状态管理的“拖放”快速方法。
从某些方面来说,似乎是的。
我建议观看这次演讲 http://channel9.msdn.com/pdc2008/PC21/作者 Phil Haack,他对该框架进行了很好的概述,并邀请 Jeff Atwood 谈论他如何用它构建 StackOverflow。
他解释了 SO 如何使用一些用于验证码的 WebForms 控件,这些控件将自身呈现到视图中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)