asp.net mvc 点滴 一 asp.net mvc vs asp.net web forms

时间:2022-10-10 03:29:34

MVC模式是一个大家很熟悉的设计模式,微软的asp.net mvc framework是给asp.net web forms提供了一个可替换的asp.net方案。

asp.net mvc 点滴 一 asp.net mvc vs asp.net web forms

  1. Models:Model对象是程序的数据域,主要是为了存储程序的状态信息,经常的数据会存放到数据库中。
  2. Views:View是显示程序UI的,UI通过Model数据创建的,这里要说一下Model在一些小的应用里只是一个逻辑上的概念,不一定有一个物理的存在。
  3. 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

这个表 基本上是歪歪出来的,使用需谨慎

asp.net mvc 点滴 一 asp.net mvc vs asp.net web forms