ASP.NET网页编程之C#特征聚焦:静态范例化对象、Duck范例和多重分派仓酷云
既然话题已经抄起,我打算今晚发篇博文再引导一下舆论方向,使它再火两天,抛砖引玉,而且赵劼先生一直在跟帖,使.NET阵营的我感到万分难得。在我们要深切研讨第一个C#特征之前,有需要晓得微软允诺,任安在C#中有的功效在VB中也会具经由过程某种情势来供应,反之亦然。不外他们没有需要以一样的体例来供应这些功效,言语之间仍是但愿持续有所区分。跟着静态言语和DLR日趋增添的主要性,C#也必要能处置静态范例化的对象(DynamicallyTypedObjects)。今朝,经由过程对静态类举行反射,固然可以完成前期挪用,但这类体例却必要大批的代码。别的,对DLR对象的挪用必要一个完整分歧的,利用了DLR反射函数的挪用体例。
在C#中,你能够复杂地声明对象的静态范例为“dynamic”。就像VB的OptionExplicitOff选项一样,它告知编译器疏忽需要的代码来剖析运转时挪用的办法绑定。在IL层面,被声明为dynamic的变量是一个System.Object类型,附加了一个分外标签来标明它利用静态挪用语义。
在运转时,一切一般重载剖析划定规矩都是基于对象的运转时范例实行的。这意味着,你可以间接地实行多重分派,而不必借助反射或会见者形式。
每一个静态言语都具有它们本人的成员查找划定规矩。为了撑持这个功效,对象必要完成IDynamicObject接口。假如这个接口存在于运转时对象上,那末对象就可以处置它本人的成员查找历程。在树模中,Ander演示了怎样在C#中界说一个静态对象。
固然,这就意味着你能够在C#中的任何中央利用duck范例。
检察英文原文:C#FeatureFocus:DynamicallyTypedObjects,DuckTyping,andMultipleDispatch
来自:http://www.infoq.com/cn/news/2008/11/CSharp-Dynamic
听03很多师兄说主讲老师杭城方讲课很差就连旁听也没有去了) 但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。 ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。 大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。 虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。 但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。 但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。 对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。 asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源 但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。 Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。 ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。 主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
页:
[1]