ASP.NET 2.0「外掛」說
在ASP.NET 2.0的新功能中,最「耀眼」的也就是母版頁、主題/皮膚、
成員資格與角色管理、使用者自訂屬性以及WebPart之頁面個人化設定。
除了前兩項,其餘都是建立在***Provider提供的服務之上。
這些Provider(類別)在微軟文件中一般是這樣定義的:為...提供...服務,
似乎與一般的控制類別等一樣,拿來用就是了。其實這些Provider(類別)
已經十分強烈暗示微軟.NET的一個發展方向,
這個方向就是(你的網站)應用程式「插件」化。
「插件」是老小弟為了形象方便地說明問題而藉用的,並不一定精確嚴密並且與微軟文檔中「插件」概念是不同的。
下面老小弟從軟、硬體這兩個角度簡單地說說稱其為“插件”的緣由:
從硬體角度考慮:如果想像一下PC,是不是可以把web.config 看作是“主板”,
而這些Provider就是插在主機板上的顯示卡、音效卡、網路卡...。更抽象化一些可以認為這些Provider其實等於驅動程式Driver。微軟為我們提供了Microsoft品牌的
SqlMembershipProvider、SqlRoleProvider、SqlProfileProvider、SqlPersonalizationProvider
等Provider,也允許我們在web.config中重新指定來取代它們(相當於設定CMOS或做「跳線」)。
這就好比不論那種品牌何種型號的顯示卡(或音效卡、網卡等)只要符合相容性標準,就可以插到主機板上使用。
從軟體角度考慮:自從Eclips推出後,開發平台上的「插件」也跟了火了一把(瀏覽器上可早就有了),
一時間Java程式設計師都在寫「插件」了。
.NET這邊因為有VS.NET所以衝擊不是很大,不過「插件」我們也是一樣用到了。
不知各位兄弟是否注意到VSS就是以「插件」形式與VS.NET整合的,
更純粹的例子就是Borland Togather for .NET。從這些整合到IDE的「插件」上我們可以看出「插件」提供的是一種功能擴展和升級/替換,現在依托這些Provider,
我們自己開發的網站程式也能「插件」化了。譬如:如果不需要頁面個人化設定(WebPart)功能,我們就不必「安裝」PersonalizationProvider
(其實應該反過來說,需要什麼功能才「安裝」什麼Provider,不過現在都是統統預先裝好的)。
那麼以後應用程式開發是不是就像電腦市場裝機一樣,拼拼裝就可以了呢?
答案是肯定的:微軟在展示其VSTS(Visual Studio Team System)產品時,就這樣玩了一把,
一行程式碼也不用寫,就拼出一個網站來,並且性能/壓力等測試成績也不差(當然裡面並不是只用了“插件”,估計怎麼也得叫個構件什麼的)。
真是比MDA還要MAD啊(開個玩笑)!
答案也是否定的:在老小弟看來,這終究是個實驗室產品,微軟工程師是在理想狀態下變的一次“魔術”,一方面我們沒有微軟工程師那麼專業,另一方面每個應用都有其特殊的業務需求,說穿了就是不一定套用的上。另外,微軟提供的Sql系列Provider都是以2層架構實現的,是難以融入當今流行的多層架構的,為此,微軟在
http://msdn.microsoft.com/asp.net/downloads/providers/default.aspx?pull=/library/en-us/dnaspp/html/asp2prvdr01.asp
提供了這些Provider的樣本程式碼下載,以便我們能拆成多層實作。
待續...
http://www.cnblogs.com/windman/archive/2006/09/20/509590.html