MVC模式是一个大家很熟悉的设计模式,微软的asp.net mvc framework是给asp.net web forms提供了一个可替换的asp.net方案。
- Models:Model对象是程序的数据域,主要是为了存储程序的状态信息,经常的数据会存放到数据库中。
- Views:View是显示程序UI的,UI通过Model数据创建的,这里要说一下Model在一些小的应用里只是一个逻辑上的概念,不一定有一个物理的存在。
- Controllers: Controllers是通过Model工作,Controllers包含应用程序逻辑的操作模式,处理用户交互,并选择View显示到浏览器
asp.net mvc framework的代码是在命名空间System.Web.Mvc中的,它是System.Web命名空间的一部分。基本上以后也是.net的核心,asp.net mvc的好处可以把一个应用可以分成几块不同部分-业务逻辑,UI逻辑和输入逻辑,达到松耦合的目的。这样便于单元测试,我们也知道传统的asp.net web forms的单元测试是很麻烦的。
asp.net mvc vs asp.net web forms
那我们什么时候选择用asp.net mvc,什么时候选用asp.net web forms呢?
老外有了一张图表可以做个参考 这里是我的翻译:
需求 | 得分 | Selection |
干净的HTML | +4 | |
使用RAD(快速应用程序开发)设计 | -5 | |
使用TDD(测试驱动开发) | +8 | |
可测试性 | +7 | |
数据依赖应用(??)Data-heavy application | -10 | |
从Web Forms升级 | -25 | |
需要和windows froms程序相同的事件驱动模型 | -7 | |
在敏捷开发团队工作 | +4 | |
需要分离模块开发 | +10 | |
建立一个概念证明或原型?? Creating a proof of concept or prototype | -6 | |
SEO-搜索引擎优化 | +3 | |
RESTful interface | +3 | |
需要保存请求状态 | -2 | |
创建一个Internet应用 | +3 | |
创建一个Intranet应用 | -3 | |
需要通过mobile,web,和REST API在相同的应用中支持多个视图 | +7 | |
需要使用第三方的asp.net web forms的控件 | -10 | |
需要控制URL的生成 | +5 |
根据你项目的要求 对应旁边的分数进行相加 得到的结果 对照下面的分数 可以做个选择了:
分数 | 推理 |
< -50 | 显而易见 使用Web Forms |
-25 | 强烈推荐使用Web Froms |
-10 | 推荐使用Web Forms |
-3 | 基本推荐使用Web Forms |
0 | Web Forms 和 MVC随便取 |
+3 | 基本 MVC |
+10 | 推荐MVC |
+25 | 强烈MVC |
> +50 | 显而易见 使用MVC |
这个表 基本上是歪歪出来的,使用需谨慎
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-591570/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12639172/viewspace-591570/