作者详谈ASP.NET AJA编制模型

本文主要介绍相关 ASP.NET AJAX提供的客户端编程模型,您可能会需要为基于prototype的类派生出“子类”,那么请不要在继承链中任何一个使用基于closure的类型。。。。

使用Closure是以前Atlas的硬伤,它大大影响了整个应用程序的性能。现在将定义类的方式变成了使用ASP.NET AJAX,这样在“表面”看上去有别于类的定义,在文档里提到了,如果是定义一个不会被派生的类,那么可以使用closure,但是我们还是应该完全使用prototype。这涉及到标准的遵循、性能和扩展性等各个方面。同样,除非真正必要,我们不应该访问一个对象里前缀是“_”的方法,它们被认作是私有成员。

“按章法出牌”能够提供更高的可维护性。Microsoft ASP.NET AJAX提供的客户端编程模型,甚至在以前Atlas中使用closure的方式来定义类的原因,不都是为了向服务器端的编程模型靠拢吗? JavaScript Extensions (Client BCL)

CTP版本包括了对于JavaScript内置对象的一系列扩展,这些会继续保留在RTM版本中。然而,它们被重新设计以避免与其它AJAX框架的潜在冲突。在RTM版本中去除了对于Array的prototype的扩展,使之变为Array类型的静态成员,它们通过被传入Array对象进行工作。

在CTP版本中,存在一个基本的错误处理方式,不过它被扩展了。RTM版本谨慎地扩展了ASP.NET AJAX的prototype,从而提供了“强类型”的错误。组件开发人员尤其需要抛出错误(典型的debug脚本)。在RTM版本中,您能捕获异常,为之补充更详细的错误信息。下面的代码提供了最基本的错误处理方式的示例,演示了如果捕获错误并提供更详细的错误信息:

相关推荐