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基本概述的更多相关文章

  1. [MVCSharp]MVC# Overview概述

    MVC# Overview概述 Abstract: This article gives an overview of MVC# - a Model-View-Presenter framework ...

  2. 02 入门 - ASP.NET MVC 5 概述

    目录索引:<ASP.NET MVC 5 高级编程>学习笔记 本篇内容: 一.One ASP.NET 二.新的Web项目体验 三.ASP.NET Identity 四.Bootstrap 模 ...

  3. OAF_架构MVC系列1 - MVC的概述(概念)

     2015-04-03 Created By BaoXinjian

  4. MVC思想概述

    一. 传统Model1和Model2 Model1:整个web应用几乎全部用JSP页面组成,JSP页面接收处理客户端请求,对请求处理后直接作出响应.用少量的javaBean来处理数据库链接,数据库访问 ...

  5. MVC 设计模式概述

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53292312) 1.MVC设计模式: 如图所示,MVC模式(Mod ...

  6. mvvm模式和mvc模式 概述总结对比

    1.mvc模式简介: MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范.例如: angular ...

  7. Spring MVC 设计概述

      MVC设计的根本原因在于解耦各个模块 Spring MVC的架构 对于持久层而言,随着软件发展,迁移数据库的可能性很小,所以在大部分情况下都用不到Hibernate的HQL来满足移植数据库的要求. ...

  8. [SPDK/NVMe存储技术分析]001 - SPDK/NVMe概述

    1. NVMe概述 NVMe是一个针对基于PCIe的固态硬盘的高性能的.可扩展的主机控制器接口. NVMe的显著特征是提供多个队列来处理I/O命令.单个NVMe设备支持多达64K个I/O 队列,每个I ...

  9. 001.Ceph简介概述

    一 Ceph简介 Red Hat Ceph是一个分布式的数据对象存储,系统设计旨在性能.可靠性和可扩展性上能够提供优秀的存储服务.分布式对象存储是存储的未来,因为它们适应非结构化数据,并且客户端可以同 ...

随机推荐

  1. 转 android客户端版本检测更新,服务下载,通知栏显示

    看图, 只要点击取消或是下载完毕 通知才会消失!      代码是大部分是借用别人的,再自己修改,达到自己所需要的效果 xml文件 update.xml <?xml version=" ...

  2. Bundle versions string, short与Bundle version

    在提交更新的app至appstore中时,需要在**.plist中设置app的version信息.Bundle versions string, short --- CFBundleShortVers ...

  3. php解决微信开发中用户昵称中的特殊字符与emoji表情写入mysql错误的问题

    解决办法:将3个字节的特殊字符与emoji表情替换掉即可. $nickname = preg_replace('/xE0[x80-x9F][x80-xBF]'.'|xED[xA0-xBF][x80-x ...

  4. POJ3268Dijkstra

    题意:给定n个点,m条边,求所有顶点中到顶点x的来回最短距离 分析:考虑到数据范围,选用Dijkstra,用Floyd会超时 #include <iostream> #include &l ...

  5. redis 学习

    http://blog.csdn.net/z69183787/article/category/2923783

  6. Post data using ajax in laravel 5

    转自:http://www.tuicool.com/articles/2u2mmmu Post data using ajax in laravel 5 to controller If you ar ...

  7. LPC1768定时器普通定时

    //其他通道的基本定时功能都能在这里实现 void Time0Mr0Init(u32 arr,u32 psc) { LPC_SC->PCONP |= (1<<1);          ...

  8. Mapreduce TopK

      思想比较简单,就是每个通过map来获取当前的数据块中的的topk个数据,然后将他们以相同的key值放到reduce中,最后通过reduce来对这n*k个数据排序并获得topk个数据.具体的就是建立 ...

  9. iOS开发——Scheme白名单

    问题:在iOS 9下涉及到平台客户端跳转,系统会自动到项目info.plist下检测是否设置平台Scheme.对于需要配置的平台,如果没有配置,就无法正常跳转平台客户端. 报错:This app is ...

  10. js执行js字符串函数的方法

    <script> var jsText = 'return function(){alert(1+1)}' var jscode = new Function(jsText)(); jsc ...