定義ADO.NET模型講析說明
雖然有許多人對ADO.NET模型的安全性表示懷疑,但在年復(fù)一年的不斷發(fā)展中,他的安全性也在不斷提高。保障ADO.NET模型的安全性是完全有可能的,但前提是要深入理解到底什么是ADO.NET模型,及他是怎么運作的。
為了方便,我們在這里還是將它們稱之為類)。在RTM中,我們使用了prototype模型,做出這種改變有幾個原因,下面的表格比較了這兩種模型:
- registerNamespace("Custom");
- //Prototype:Constructor
- Custom.Timer=function(){
- //Ctorcreatesprivatefieldsandcallsbase.
- Custom.Timer.initializeBase(this);
- this._interval=1000;
- this._enabled=false;
- this._timer=null;
- }
- //Prototype:members
- Custom.Timer.prototype={
- member1:function(){},
- member2:function(){},
- ...
- }
- Custom.Timer.registerClass('Custom.Timer',Sys.Component);
我們從很多方面研究了prototype相對于closure的性能優(yōu)勢——不光是對象實例的內(nèi)存使用,還包括實例化一個包含各種各樣類和成員的典型應(yīng)用程序。這種性能研究都在多個瀏覽器中進行,因為我們的目標是找出一個應(yīng)用于所有瀏覽器上最合適的模型。#t#
如果您只是編寫ASP.NET頁面,在自己的腳本或者XML-Script中使用ASP.NET AJAX Framework客戶端對象,則不會受到這種變化的影響。
CTP版使用了內(nèi)置的closure支持,保證了基礎(chǔ)方法能夠被合適地訪問到。ADO.NET模型這個支持在在RTM中被移出了,您可能會需要為基于prototype的類派生出“子類”,那么請不要在繼承鏈中任何一個使用基于closure的類型。
Note:在beta版中,存在著一些支持closure的概念,這有可能在RTM時被移除。然而,一般來說ADO.NET模型還是能夠在子類中使用,即使它派生于一個prototype類。但是開發(fā)人員不應(yīng)該使用closure開發(fā)一個可能被繼承的類。