定義ADO.NET模型講析說明
雖然有許多人對ADO.NET模型的安全性表示懷疑,但在年復一年的不斷發展中,他的安全性也在不斷提高。保障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的性能優勢——不光是對象實例的內存使用,還包括實例化一個包含各種各樣類和成員的典型應用程序。這種性能研究都在多個瀏覽器中進行,因為我們的目標是找出一個應用于所有瀏覽器上最合適的模型。#t#
如果您只是編寫ASP.NET頁面,在自己的腳本或者XML-Script中使用ASP.NET AJAX Framework客戶端對象,則不會受到這種變化的影響。
CTP版使用了內置的closure支持,保證了基礎方法能夠被合適地訪問到。ADO.NET模型這個支持在在RTM中被移出了,您可能會需要為基于prototype的類派生出“子類”,那么請不要在繼承鏈中任何一個使用基于closure的類型。
Note:在beta版中,存在著一些支持closure的概念,這有可能在RTM時被移除。然而,一般來說ADO.NET模型還是能夠在子類中使用,即使它派生于一個prototype類。但是開發人員不應該使用closure開發一個可能被繼承的類。