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是一个分布式的数据对象存储,系统设计旨在性能.可靠性和可扩展性上能够提供优秀的存储服务.分布式对象存储是存储的未来,因为它们适应非结构化数据,并且客户端可以同 ...
随机推荐
- 如何用70行Java代码实现深度神经网络算法
http://www.tuicool.com/articles/MfYjQfV 如何用70行Java代码实现深度神经网络算法 时间 2016-02-18 10:46:17 ITeye 原文 htt ...
- Arduino线程库ProtoThreads
参考: Arduino线程库ProtoThreads 一个“蝇量级” C 语言协程库
- function $(id){ return document.getElementById(id); }导致所有的js不能用解决办法。。。。
function $(id){ return document.getElementById(id); } document.getElementById(id) 是获得id这个元素的. 相当于定义了 ...
- HDU 4169 UVALive 5741 Wealthy Family
树形背包.DP递推的思路很简单.... 但是由于节点有15万个,先不论空间复杂度,这样开dp数组 dp[150000+10][300+10],如果初始化是memset(dp,-1,sizeof dp) ...
- spring调用mongodb
1.环境 Jdk:1.6.0_10-rc2 Spring3.1.2 下载 依赖jar文件: 2.相关配置 ①.spring配置文件 <?xml version="1.0" ...
- python继承的实例
class SchoolMember(object):#定义学校 member=0#默认成员为0个 amount=0#默认学费为0元 def __init__(self,name,age,sex):# ...
- ios 设置屏幕方向的两种方法
第一种:通过人为的办法改变view.transform的属性. 具体办法: view.transform一般是View的旋转,拉伸移动等属性,类似view.layer.transform,区别在于Vi ...
- abs函数
absolute 绝对值函数 abs函数是一个取绝对值函数,你得确保ABS()括号里的表达式所计算出的结果是数字,String是字符串的意思,你括号你的数据肯定是字符串了,如果A.B两变量你是这样定义 ...
- Phone APP设计规范/iPad APP设计规范/Android APP设计规范/网页设计规范
原文链接:http://www.ui001.com/chicun/ ①iPhone的设计尺寸 iPhone界面尺寸: 设备 分辨率 状态栏高度 导航栏高度 标签栏(工具栏)高度 iPhone6 plu ...
- Codeforces #317 C.Lengthening Sticks(数学)
C. Lengthening Sticks time limit per test 1 second memory limit per test 256 megabytes input standar ...