MVC概念(一)
来源:互联网 发布:mac迅雷无法登陆 编辑:程序博客网 时间:2024/05/22 05:21
MVC是什么?
MVC适用于大型可扩展的Web应用的开发,它强制性地将应用程序的输入、处理和输出分开,将其划分为模型、视图和控制器3个核心部分,使它们各司其职,各自完成不同的任务,其中任何一部分的修改都不会影响其他两部分。
原理图
模型
模型封装了应用问题的核心数据、逻辑关系和业务规则,提供了业务逻辑的处理过程。模型一方面被控制器调用,完成问题处理的操作过程,另一方面为视图获取显示数据提供了访问数据的操作。
视图
视图是MVC模式下用户看到的并与之交互的界面。视图从模型处获得数据,其更新由控制器控制。视图不包含任何业务逻辑的处理,它只是作为一种输出数据的方式。
控制器
在MVC模式中,控制器主要起导航的作用,它根据用户的输入调用相应的模型和视图去完成用户的请求。
还可以3个职责:参数校验,异常捕获,业务封装(不是包括具体方业法的实现哈)--2012-2-22
总之,控制器一定要瘦。
MVC的处理过程
MVC的处理过程是:对于每一个用户输入的请求,首先被控制器接收,并决定由哪个模型来进行处理,然后模型通过业务处理逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。
MVC的优点
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。
1. 提供了对HTML页面显示的全面控制
2. 生成的HTML更加简洁,由于没有ViewState,因此页面也会变得很小
3. 清晰的将代码与显示分离
4. 提供了应用程序层的单元测试
5. 有多种视图引擎可以被支持(Brail Nhaml Nvelocity XSLT)
6. 可以方便的整合jQuery和YahooUI之类的JavaScript架构
7. 可以从逻辑上动态的映射URL
8. 默认使用RESTful界面(有助于SEO)
ASP.NET MVC缺点:
1. 非事件驱动型架构,增加了理解难度
2. 需要理解并熟悉HTTP、HTML、CSS、Javascript
3. 第三方库提供支持不足
4. 没有提供ViewState和PostBack模型,因此难以保存状态
资源:http://www.asp.net/mvc/tutorials/passing-data-to-view-master-pages-cs
- MVC 概念(一)
- MVC概念(一)
- MVC 学习记录(一)基础概念
- spring mvc入门教程(一)概念介绍
- MVC概念
- MVC概念
- 概念:MVC
- MVC概念
- MVC概念
- 16SpringMVC——MVC的概念(一)
- 概念(一)
- 多线程 一(概念)
- 线程(一.概念)
- 数据结构一(概念)
- mvc架构概念(面试专用)
- Struts2实现MVC(概念解析)
- MVC探索之路(1、MVC的基础概念)
- MVC初步(一)
- 教你自定义绘制TreeView
- SQL
- OSGI--apache felix 入门
- 3.python的set集合的操作示例——《深入python》学习
- socket用户异常掉线检测
- MVC概念(一)
- 屏幕字段不允许直接输入,只能通过SearchHelp(F4)
- css中设置div为透明,及内容垂直居中
- 深入浅出之正则表达式---收藏学习
- html正则表达式验证标签只能输入数字,英文。电话号码格式……
- cassandra学习日志
- struts2 日期选择器
- C++面试宝典2011版
- 计算熵