001.MVC基本概述
MVC的基本概念
一.NET平台下开发web应用程序的方案(方法)
方案A:
ASP.NET webForm
1.web窗体:臃肿(胖)性能低 优点:有很多的web控件可以使用,能够方便的和服务端交互(数据库)
怎么做:见ppt5
2.html :干净(瘦)性能高 缺点:只能使用html元素[客户端控件] ajax+自定义处理程序
3.razor页面 干净(瘦) 性能高 优点:使用html客户端控件
本意:剃须刀! 方便和服务端交互:html辅助方法 不支持试图状态
方案B:ajax+自定义处理程序(前端控制器方案)
怎么做:见ppt5
补充:
网站的性能:页面本身 影响很大 so big
页面:页面的模版不同
方案C:ASP.NET MVC[标准MVC 微软官方MVC]
怎么做:见ppt5
方案D:自定义MVC[多样,混合]
问题:
1..net平台下开发web应用程序的方案有哪些
2.每种方案如何实施(怎么做) 性能 开发效率
3.各有何优缺点,流行度,趋势
方案1:webForm (1 - 3 ) (早期)
方案2:ajax+自定义处理程序 (3 - 1 ) (中期)
方案3:ASP.NET MVC[标准MVC 微软官方MVC] (2.5 - 2.5) (当前)
方案4:自定义MVC[多样,混合] ????
MODEL-VIEW-CONTROLLER(MVC)
MVC的优点:
MVC可促进并行开发,便于代码重用和维护
-MVC很好的实现了
1.表示层与数据层的分离
2.表示层与逻辑层的分离
3.MVC应用程序这三个组建是松散耦合
MVC的缺点:
前期设计麻烦,性能相对较低[不分层,不划分组件]
MVC不适合小型甚至中等规模的应用程序,非常适合大型开发人员团队支持的Web应用程序,以及需要对应用程序行为进行极度控制的Web设计人员.
用在哪:
适合用在中大型以及大型项目中,需要对项目极度(全方位)控制的大项目中
不适合用在小型,中小型,中型项目中
习惯性指标:
时间,代码量,难度:1人5年 5人1年
怎么使用:
MVC是一种软件架构模式,是概念上的架构,理论上的指导,抽象 成功!
具体:MVC的具体的实现,有很多
ASP.NET MVC是MVC的一个具体的实现 具体的成功!
ASP.NET MVC 和 ASP.NET Web比较:
ASP.NET MVC和ASP.NET WEB窗体都是构建Web应用程序的
他们的基础平台是一致的,都是.NET框架(平台)
ASP.NET MVC不支持视图状态(Web控件不能用了,Web控件事件也不能用了)->web窗体是特殊的web控件
MVC的工作原理:
注:ASP.NET MVC中的url
特殊:构成 http//....../控制器名/方法名
默认:
1.Url请求直接来到Controller中
2.Controller从Model中取数据(Model可能去访问数据库)
3.Controller根据业务逻辑选择合适的View呈现给客户端
4.View返回给客户端
MVC包括以下组件:
1.模型:(模型类,实体类,实体模型类)
通常包含模型类和数据访问类(数据上下文)
2.视图:用户界面
输入提交,输出显示
3.控制器:从视图获得输入,处理,
将接过输出给视图或者反馈给模型存储
001.MVC基本概述的更多相关文章
- [MVCSharp]MVC# Overview概述
MVC# Overview概述 Abstract: This article gives an overview of MVC# - a Model-View-Presenter framework ...
- 02 入门 - ASP.NET MVC 5 概述
目录索引:<ASP.NET MVC 5 高级编程>学习笔记 本篇内容: 一.One ASP.NET 二.新的Web项目体验 三.ASP.NET Identity 四.Bootstrap 模 ...
- OAF_架构MVC系列1 - MVC的概述(概念)
2015-04-03 Created By BaoXinjian
- MVC思想概述
一. 传统Model1和Model2 Model1:整个web应用几乎全部用JSP页面组成,JSP页面接收处理客户端请求,对请求处理后直接作出响应.用少量的javaBean来处理数据库链接,数据库访问 ...
- MVC 设计模式概述
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53292312) 1.MVC设计模式: 如图所示,MVC模式(Mod ...
- mvvm模式和mvc模式 概述总结对比
1.mvc模式简介: MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范.例如: angular ...
- Spring MVC 设计概述
MVC设计的根本原因在于解耦各个模块 Spring MVC的架构 对于持久层而言,随着软件发展,迁移数据库的可能性很小,所以在大部分情况下都用不到Hibernate的HQL来满足移植数据库的要求. ...
- [SPDK/NVMe存储技术分析]001 - SPDK/NVMe概述
1. NVMe概述 NVMe是一个针对基于PCIe的固态硬盘的高性能的.可扩展的主机控制器接口. NVMe的显著特征是提供多个队列来处理I/O命令.单个NVMe设备支持多达64K个I/O 队列,每个I ...
- 001.Ceph简介概述
一 Ceph简介 Red Hat Ceph是一个分布式的数据对象存储,系统设计旨在性能.可靠性和可扩展性上能够提供优秀的存储服务.分布式对象存储是存储的未来,因为它们适应非结构化数据,并且客户端可以同 ...
随机推荐
- word加载项打包发布注意事项总结
最近在做一个word加载项,发布的时候还是有很多坑的现在总结一下:发布工具为Advanced Installer 11.0 网盘地址:http://pan.baidu.com/s/1i4GK3g5 1 ...
- DHCP配置部分
1.DHCP工作过程 dhcp discover \\客户端请求服务器器提供地址 dhcp offer \\服务器提供ip地址 dhcp request \\客户端租用ip地址 dhcp ack \\ ...
- MySQL查询in操作 查询结果按in集合顺序显示_Mysql_脚本之家
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- 通过ionice和nice降低shell脚本运行的优先级
对于一些运行时会造成系统满载的脚本, 例如数据库备份, 会影响当时其他服务的响应速度, 可以通过ionice和nice对其IO优先级和CPU优先级进行调整例如降低"/usr/local/bi ...
- [FTP]xferlog日志解析
[root@teacher ~]# cat /var/log/xferlogMon Jan 25 20:41:39 2016 1 10.0.222.156 913268 /sys/sys64/Pack ...
- ngx_http_core_module模块提供的变量
ngx_http_core_module模块在处理请求时,会有大量的变量,这些变量可以通过访问日志来记录下来,也可以用于其它nginx模块.在我们对请求做策略如改写等等都会使用到一些变量,顺便对ngx ...
- 二、HDFS学习
Hadoop Distributed File System 简称HDFS 一.HDFS设计目标 1.支持海量的数据,硬件错误是常态,因此需要 ,就是备份 2.一次写多次读 ...
- onchange、oninput、onpropertyChange事件的异同
onchange事件适用于input\textarea\select元素上,支持各大浏览器,该事件只有在键盘或者鼠标操作改变对象属性,且失去焦点时触发,脚本触发无效: oninput事件适用于inpu ...
- Python字符串的encode与decode研究心得——解决乱码问题
转~Python字符串的encode与decode研究心得——解决乱码问题 为什么Python使用过程中会出现各式各样的乱码问题,明明是中文字符却显示成“/xe4/xb8/xad/xe6/x96/x8 ...
- salt自动化部署
1. 到编译机器编译 /export/Deploy/vm-agent 执行脚本 ./vm-agent.sh develop -alpha 2.检查rpm包是否打包成功 http://172.18.13 ...