文档详情

Net平台下的BS开发框架.docx

发布:2017-08-11约字共11页下载文档
文本预览下载声明
.Net平台下的B/S开发框架一、前言  本文主要是对.Net平台下的几种B/S开发框架进行比较。只对比前端展现和界面业务逻辑的部分,对于后台的数据层、业务层、持久层等则不作讨论,因为这些部分是完全可以共用的。?  主要从如下几个维度比较:技术差异、成熟度?难易程度、学习成本?适应的范围.Net平台下的B/S开发框架分类总体来说,目前.Net平台下的B/S开发框架基本可以分为三大类:基于控件和页面事件驱动思想的Web Forms基于模型、视图、控制器的MVC模式综合了Web Forms和MVC的一些特点而产生的框架(不是本文的介绍重点)?  到目前为止,ASP.NET Web Forms和ASP.NET MVC都有着各自的追捧者,双方都认为各自所使用的技术才是最好的,我个人很反对这种观点,马克思等革命先烈告诉我们,看待事物要用辩证、唯物的思想,存在即合理。作为开发人员的我们,眼光不能太狭隘,多掌握一门技术总是好的事情。而本文也尽量从客观、平等的角度出发,做一个相对公正全面的对比,而不是某种技术框架的推崇。二、知识准备  在进行具体的比较之前,我们先回过头来想一想,什么是B/S结构?而本文介绍的框架都是基于微软.Net Framework,那么什么又是.Net Framework?What is B/S?  毫无疑义、理所当然,B/S指的就是B:Browser,S:Server,即我们的B/S程序的客户端就是浏览器(各种各样的浏览器,不管你是IE还是Firefox、Chrome等等),而服务端又是什么呢?服务端是指我们利用.Net平台(当然也可以是PHP、Java、Ruby、Python等)开发出来的应用程序,这些程序运行在各种Web Server上(例如:IIS、Apache、Tomcat等)。  而联系B和S的就是HTTP协议,由于HTTP无状态的特性,造成了B/S应用所有的请求只能从浏览器(客户端)开始,也只能采用拉的模式,即服务端无法推送消息到客户端,而这点是和C/S模式的Windows程序有着很大区别的。  关于HTTP协议,属于另外一个话题,这里就不详细介绍了。具体可参考:/view/70545.htm,当然,要想做一个好的B/S应用,是非常有必要对HTTP协议做一些深入的了解的。  每一次的HTTP请求通过统一资源定位符(Url)开始,服务端在接收到一次Http Request之后,会由Web Server接管请求,然后交给具体的服务端程序进行逻辑处理(中间的这个处理过程会因为Web Server的不同而有所区别,总之是一个比较复杂的生命周期过程,以ASP.NET为例,详情可参考:/zh-cn/library/ms178473(VS.80).aspx),处理完成之后,最终将生成的结果发回给客户端。这个生成的结果一般是一段HTML文本、或者是一段二进制字节流。而客户端在接收到返回到信息之后,将这些信息解析出来,就形成了我们在浏览器上看到的实实在在的页面,至此就形成了一个完整的请求过程。  好吧,上面这些介绍可能和本文的这个议题没有太直接的关系,可能也有人为认为这些是一个很简单的问题,可是,你真的理解HTTP协议了吗?真的理解应用程序生命周期和页面生命周期了吗?你真的理解了我们经常用的Response.Redirect(“url”)对应的HTTP状态是301还是302吗?之所以介绍这么多,还是因为个人认为:要想较好的设计B/S系统结构,或者说写出高效、优雅的B/S代码,这些都是不可或缺的知识。What is .Net Framework  先看一段解释: NET Framework又称 .Net框架。是由微软开发,一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发平台。.NET是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。.NET包含许多有助于互联网和内部网应用迅捷开发的技术。   .NET框架是微软公司继Windows DNA之后的新开发平台。.NET框架是以一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多种语言(C#、VB、C++、Python等)的开发。 .NET也为应用程序接口(API)提供了新功能和开发工具。这些革新使得程序设计员可以同时进行Windows应用软件和网络应用软件以及组件和服务(web服务)的开发。.NET提供了一个新的反射性的且面向对象程序设计编程接口。.NET设计得足够通用化从而使许多不同高级语言都得以被汇集。  .Net Framework作为微软面向企业级应用的重要战略之一,有
显示全部
相似文档