惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
WordPress大学
WordPress大学
MyScale Blog
MyScale Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
The Blog of Author Tim Ferriss
U
Unit 42
罗磊的独立博客
G
Google Developers Blog
Microsoft Azure Blog
Microsoft Azure Blog
The Cloudflare Blog
aimingoo的专栏
aimingoo的专栏
Vercel News
Vercel News
N
Netflix TechBlog - Medium
H
Hackread – Cybersecurity News, Data Breaches, AI and More
云风的 BLOG
云风的 BLOG
Hugging Face - Blog
Hugging Face - Blog
大猫的无限游戏
大猫的无限游戏
F
Fortinet All Blogs
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
博客园 - 【当耐特】
H
Help Net Security
The GitHub Blog
The GitHub Blog

博客园 - lu xu

OWIN and Katana [转]我的微软开源CMS-Orchard源码阅读之Orchard Data Migrations 学习javascript必须订阅30个程序员的Blog 我的微软开源CMS-Orchard源码阅读之Orchard.Caching [转]jquery跨域调用asp.net web service 经纬度坐标系与UTM MGRS坐标系之间的转换 c# 版本 因为我们是软件公司 世界上最幸福的职业-鉴黄师 纪念一下 不能免俗-bing的试用 只看不说-CCTV的客户端关键字 Oracle收购Sun [转载]一个普通程序如何摧毁了华尔街 asp.net mvc 1.0 开源 免费 官方的ASP.NET MVC电子书-Professional ASP.NET MVC 1.0 Asp.Net MVC 学习心得 之 Html Helper Asp.Net MVC 学习心得 之 Model Asp.Net MVC 学习心得 之 View Asp.Net MVC 学习心得 之 Controllers
asp.net mvc 点滴 一 asp.net mvc vs asp.net web forms
lu xu · 2009-04-23 · via 博客园 - lu xu

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

  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

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