程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ASP.NET 2.0“插件”說

ASP.NET 2.0“插件”說

編輯:.NET實例教程


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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved