觉得有必要来澄清几组重要概念

承蒙大家厚爱,不少朋友都会把遇到的问题向老赵进行讯问。不过在阅读很多朋友问题的过程中,以及平时和别人讨论中,亦或是园子里的文章中经常发现一些误用概念 的情况。如果在概念上没有形成共识,那么在工作和交流上就会造成许多问题。因此,虽然老赵已经在其他一些地方(例如WebCast或一些文章的评论)做过解释,但是现在 仍然觉得有必要特地来澄清一些概念,解释一下这些概念之间的区别和联系。希望在明确这些概念之后,大家能够把注意力集中在对于具体问题的分析解决上,而不要让沟 通成为瓶颈。

在这篇文章中,我希望澄清三组概念,它们是:

AJAX / AJAX框架 / AJAX.NET (Professional) / ASP.NET AJAX

LINQ / LINQ to SQL / LINQ to XXX

Lambda Expression / Expression Tree / 匿名方法

AJAX / AJAX框架 / AJAX.NET (Professional) / ASP.NET AJAX

这是我见过的混淆最 多的一组概念。不过当去年AJAX技术如火如荼,AJAX框架层出不穷,而微软又推出ASP.NET AJAX框架之后,这四个概念之间的混淆也愈发严重起来了。我经常能看到这样的 问题:

我在用AJAX技术时不知道怎么在UpdatePanel里……

我用AJAX.NET框架调用Web Service时……

这是非常典型的概 念混淆,上面两句话的AJAX与AJAX.NET都应该使用ASP.NET AJAX替换。关于这几个概念的区别我《深入浅出ASP.NET AJAX》系列WebCast多次进行解释,不过收效似乎并不明 显。于是我打算在这里再进行一下说明:

AJAX是Asynchronous JavaScript and XML缩写。这个概念代表的是一种技术,当您在说“我在项目中使用了AJAX技术 时”,只是代表了您使用客户端XMLHttpRequest对象与服务器端进行异步通信。不过因为随着AJAX技术的运用往往会带来丰富的客户端效果,因此对AJAX技术的广义理 解也可以认为这是一种操作客户端DOM而带来丰富效果的技术(这个“广义”的描述其实并不准确,大家明白老赵的意思就可以了)。

AJAX框架是一套辅 助开发人员使用AJAX技术的代码包(库,etc.)。一个AJAX框架的目的一般是对XMLHttpRequest对象的使用进行封装,并提供一些操作DOM元素或者实现特殊效果的“ 捷径”。成熟的AJAX框架有很多,它们可以被分为“以客户端为中心”和“面向特定服务器技术”两大类。前者的优秀代表有(排名不分先后) :Prototype、jQuery、Mootools、YUI、Dojo等等(最后两个其实更接近一套客户端界面库,也就是“广义”的AJAX框架);而后者的典型代表既是AJAX.NET和 ASP.NET AJAX了——当然,也有优秀的AJAX框架面向其他服务器技术,在此不提。

AJAX.NET (Professional)是ASP.NET平台上著名的AJAX框架,诞生于 2005年2月(虽然正式命名为AJAX.NET则是在两个月之后),作者为Michael Schwarz。同年10月,Michael为AJAX.NET提供了更丰富的功能(主要是安全性方面),并将其改 名为AJAX.NET Professional。AJAX.NET提供的最主要的(也是唯一)的功能就是异步调用服务器端方法,可谓非常纯粹的“基于数据”的AJAX使用方式。这个框 架是一个个人作品,有支持.NET 1.1和2.0的版本,它并不属于微软官方,目前已经停止更新。

ASP.NET AJAX的Code Name为“Atlas”,在CTP向Beta版转 移时曾经发生过翻天覆地的变化。ASP.NET AJAX中包含了UpdatePanel等控件,可以非常透明地为现有的ASP.NET WebForms应用程序添加AJAX效果。此外还提供了客户端异步 调用Web Services的方法,使开发人员也能够使用面向数据的方式使用AJAX技术。值得一提的是ASP.NET AJAX的“附属品”相当丰富。例如ASP.NET AJAX名为 “Microsoft AJAX Library”的客户端部分是一个纯客户端AJAX框架,提供了面向对象类型系统、浏览器兼容层、异步通信层等多种基础组件;ASP.NET AJAX的 开源扩展包“AJAX Control Toolkit”包含了数十个可以直接使用的AJAX服务器端控件,这样开发人员能够轻松地添加丰富的客户端效果。同时,官方还为 ASP.NET AJAX提供了“非正式”地扩展包,其中的History等优秀控件也将加入未来版本的ASP.NET AJAX框架中。ASP.NET AJAX是官方出品的AJAX框架,目前已经 被集成到ASP.NET 3.5中去了,因此其版本号也从ASP.NET AJAX 1.0一下子“跃升为”ASP.NET AJAX 3.5。如果您看到了这些版本号也请不要疑惑,其实ASP.NET AJAX 3.5相对于ASP.NET AJAX 1.0来说只是修补了一些细小bug,几乎没有任何变化。

时间: 2024-12-23 03:34:18

觉得有必要来澄清几组重要概念的相关文章

中国铝业澄清“伪稀土”概念意在百亿可转债

攀上稀土快车,连续两个交易日冲击 涨停的中国铝业(601600.SH)终于主动撇清稀土概念,发布公告称公司无参与稀土开发事宜的计划. 事情起因于9月28日,多家媒体集中报道称,9月26日中铝公司与江西省国资委签署了<江西稀有金属钨业控股集团有限公司增资扩股协议>.中铝公司表示,稀土作为中铝公司的主业板块之一,是中铝公司重点发展的板块,江钨将成为中铝发展稀土业务的重要平台.中铝公司将全力支持和帮助江钨控股集团公司所属江西稀有稀土金属钨业集团有限公司等企业上市. 由于中铝公司是中国铝业的控股股东,

意在百亿可转债中国铝业澄清“伪稀土”概念

攀上稀土快车,连续两个交易日冲击 涨停的中国铝业(601600.SH)终于主动撇清稀土概念,发布公告称公司无参与稀土开发事宜的计划. 事情起因于9月28日,多家媒体集中报道称,9月26日中铝公司与江西省国资委签署了<江西稀有金属钨业控股集团有限公司增资扩股协议>.中铝公司表示,稀土作为中铝公司的主业板块之一,是中铝公司重点发展的板块,江钨将成为中铝发展稀土业务的重要平台.中铝公司将全力支持和帮助江钨控股集团公司所属江西稀有稀土金属钨业集团有限公司等企业上市. 由于中铝公司是中国铝业的控股股东,

浙大网新澄清网游概念传言未提及阿里手游平台

⊙记者 庞瑞 ○编辑 孙放已连续两日 涨停的浙大网新今日公告,公司目前生产经营正常,不存在可能导致股价异常波动的重大事项,但对于触发其大涨的"阿里手游平台"概念并未提及.不过,公司相关人士向记者证实,这一概念其实与公司无关.近日,在多家财经网站的页面上,记者见到了诸如"受阿里发布手游平台战略消息影响,浙大网新等网络游戏概念股飙升"."公司控股50%的上海花样年华是中国最大的手机游戏服务提供商之一"的描述,在微博等社交网站上,这一消息也被广泛转载.

紫光股份暴涨揭秘:下一代互联网OR新三板概念?

就在全球媒体热炒第一代互联网最后5组IP地址被瓜分完毕的时候,A股市场也迅即掀起下一代互联网概念的爆炒旋风,以紫光股份(000938,前收盘价17.31元)为代表的相关个股纷纷大幅放量上涨甚至被要求停牌核查. 然而,根据紫光股份公布的停牌核查公告来看,其参股子公司比威网络的IPv6路由器并没有进行大规模生产和销售,公司还为此计提长期投资减值准备. 那么,紫光股份股价暴涨的背后,究竟隐藏着什么秘密呢? 澄清下一代互联网概念 2月初,全球最后5组第一代互联网IP地址被分配完毕的消息在网络上迅速蔓延,

详解Java中的指针、引用及对象的clone

对象|详解 Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,本文会试图澄清这一概念.并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象.本文会让你了解什么是影子clone与深度clone,认识它们的区别.优点及缺点.看到这个标题,是不是有点困惑:Java语言明确说明取消了指针,因为指针往往是在带来方便的同时也是导致代码不安全的根源,同时也会使程序的变得非常复杂难以理解,滥用指针写成的

关于scn的理解

关于scn的理解系统检查点scn(v$database(checkpoint_change#))数据文件检查点(v$datafile(checkpoint_change#))数据文件终止scn(v$datafile(last_change#)) 数据文件中存放的检查点启动scn (v$datafile_header(checkpoint_change#) 1.系统检查点scn当一个检查点动作完成之后,Oracle就把系统检查点的SCN存储到控制文件中.select checkpoint_chan

yahoo网站性能优化的建议:Yahoo军规再度挖掘

文章描述:本来这是个老生常谈的问题,上周自成又分享了一些性能优化的建议,我这里再做一个全面的Tips整理,谨作为查阅型的文档,不妥之处,还请指正. 本来这是个老生常谈的问题,上周自成又分享了一些性能优化的建议,我这里再做一个全面的Tips整理,谨作为查阅型的文档,不妥之处,还请指正:如果你已经对yahoo这些优化建议烂熟于心,果断点这里 一. Yahoo的军规条例: 谨记:80%-90%的终端响应时间是花费在下载页面中的图片,样式表,脚本,flash等:详细的解释来这里查:http://deve

深入了解JVM-----Inside JVM读书笔记

笔记   本文首先介绍一下Java虚拟机的生存周期,然后大致介绍JVM的体系结构,最后对体系结构中的各个部分进行详细介绍. (  首先这里澄清两个概念:JVM实例和JVM执行引擎实例,JVM实例对应了一个独立运行的java程序,而JVM执行引擎实例则对应了属于用户运行程序的线程:也就是JVM实例是进程级别,而执行引擎是线程级别的.) 一. JVM的生命周期 JVM实例的诞生:当启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(String

浅析Java的“克隆”方法

Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,本文会试图澄清这一概念.并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象.本文会让你了解什么是影子clone与深度clone,认识它们的区别.优点及缺点. 看到这个标题,是不是有点困惑:Java语言明确说明取消了指针,因为指针往往是在带来方便的同时也是导致代码不安全的根源,同时也会使程序的变得非常复杂难以理解,滥用指针写成的代码不亚于