.net 框架程序的設(shè)計(jì)_.Net教程
推薦:解析ASP.NET MVC項(xiàng)目中視圖的單元測(cè)試關(guān)于視圖的單元測(cè)試 說到ASP.NET MVC,我們似乎始終都在關(guān)注對(duì)于Controller的測(cè)試雖然Stephen Walther也寫過如何脫離Web Server對(duì)View進(jìn)行單元測(cè)試,但是他的方法可看而不可用。復(fù)雜的構(gòu)造和預(yù)備,以及對(duì)生成的HTML字符串作判斷這真是在對(duì)視圖做單元測(cè)試嗎?
.net 平臺(tái)構(gòu)成
1 底層操操作系統(tǒng) windows
由于Web服務(wù)和使用Web服務(wù)的應(yīng)用程序仍然運(yùn)行在計(jì)算機(jī)上,而且既然是計(jì)算機(jī)都 要有外設(shè),所以我們?nèi)匀恍枰粋(gè)操作系統(tǒng).. Windows添加了Xml支持.. Windows XP和Windows.net (現(xiàn)在改名為windows Server 2003 ) 所有版本都都 為服務(wù)驅(qū)動(dòng)的世界提供最好的支持.
特別地windowsXp和Windows 2003 Server 集成了Microsoft .net Passport Xml Web服務(wù)支持.Passport是一種用戶認(rèn)證服務(wù)..當(dāng)?shù)卿浭褂肞assport認(rèn)證的Web站點(diǎn)和Web服務(wù)時(shí)的效率將會(huì)大提升.換句話說,用戶在訪問不同的互聯(lián)網(wǎng)著站點(diǎn)時(shí),將不再需要每次都輸入用戶名和密碼.
另外Windows XP 和 Windows Server 2003 都提供了對(duì).net框架的內(nèi)置支持.
2 輔助產(chǎn)品:.net 企業(yè)服務(wù)器
這些產(chǎn)品主要是為企業(yè)的信息化和信息集成提供幫助的.
Microsoft Application Center
Microsoft BizTalk Server 2000 (現(xiàn)在出了個(gè)新版本)
Microsoft Commerce Server 2000
Microsoft Exchange 2000 郵件服務(wù)器
Microsoft HostIntegration Server 2000
Microsoft Internet Security and Acceleration(ISA) Server 2000
Microsoft Mobile Information Server 2002
Microsoft SQL Server 2000
這個(gè)產(chǎn)品剛開始跟我們的.net平臺(tái)其實(shí)沒什么關(guān)系.但以后可能為將一些.net特性集成到這些這些產(chǎn)品中, 目前新版的BizTalk 就集成了.net特性,差且通過vs.net 2003進(jìn)行開發(fā).
3 Microsoft XML Web 服務(wù): .net My Servers
微軟作為一個(gè)Web服務(wù)的底層技術(shù)提供商的同時(shí),也推出了自己的XML Web服務(wù)
.net Alerts
.net ApplicationSettings
.net Calendar
.net Categories
等等……
4開發(fā)平臺(tái):.NET 框架
.net 框架包含兩個(gè)部分: 通用語言運(yùn)行時(shí)(Common Language Runtime---CLR) 和.net 框架類庫(Framework Class libarary --FCL) .
.net 框架是.net平臺(tái)最關(guān)鍵的部分.
本書討論的就是開發(fā)面向.net 框架的應(yīng)用程序和XML Web服務(wù).
.net 框架開發(fā)平臺(tái)可以允許我們創(chuàng)建各種各樣的應(yīng)用程序:XML Web服務(wù)、Web窗體,Win32 GUI程序,Win32 CUI 應(yīng)用程序, Windows服務(wù)、實(shí)用程序、以及獨(dú)立的組件模塊。
Windows 2003 Server 內(nèi)置了.NET框架
Microsft .net 框架為開發(fā)人員提供的技術(shù)比任何以前的微軟發(fā)平臺(tái)提供的技術(shù)都要多,比如代碼重用、代碼專業(yè)化、資源管理、多語言開發(fā)、安全、部署、管理等。在設(shè)計(jì).net 框架時(shí),微軟還感到有必要改進(jìn)目前Windows平臺(tái)的某些缺陷。
CLR和FCL提供的部分服務(wù):
l 一致的編程模型
現(xiàn)在的Windows操作系統(tǒng),某些功能需要通過動(dòng)態(tài)鏈接庫DLL來訪問,而某些功能又是通過COM對(duì)像來訪問。 在.net 框架下,所有的應(yīng)用程序服務(wù)都將以一種一致的、面向?qū)ο竦木幊棠P吞峁┙o開發(fā)人員。
l 簡(jiǎn)化的編程方式
CLR的其中一個(gè)目的就是簡(jiǎn)化Win32和COM 環(huán)境下所需要的各種繁雜的基礎(chǔ)構(gòu)造。在CLR下,我們可以不需要 注冊(cè)表、全局惟一標(biāo)識(shí)符、Iunknown 、AddRef、Release、HRESULT等。
l 可靠的版本機(jī)制
.net 框架采用了一種新型的版本機(jī)制來隔離應(yīng)用程序組件,可以保證一個(gè)應(yīng)用程序總能加載當(dāng)初生成的測(cè)試時(shí)所使用的組件。 徹底關(guān)上了“DLL hell“的大門。
l 輕便的部署管理
在.net框架下,組件將不再受注冊(cè)表的任何引用。大多數(shù).net框架應(yīng)用程序的安裝工作所需要的只不過是將文件拷貝到一個(gè)目錄中。然后添加快捷方式都桌面、開始菜單就行了
l 廣泛的平臺(tái)支持
編譯后的.NET框架的源代碼實(shí)際上是通用中間語言(Common Intermediate Language) 只有在運(yùn)行時(shí),CLR才會(huì)將這些中間語言翻譯為CPU指令。這就意味著只要一臺(tái)機(jī)中包含有與ECMA兼容的CLR和FCL,我們便可以將.NET框架應(yīng)用程序部署在該機(jī)上。
l 無縫的語言集成
CRL要求所有面向它的語言都要遵循一種稱作通用類型系統(tǒng)(Common Type System,簡(jiǎn)稱CTS)的規(guī)范和通用語言規(guī)范
l 簡(jiǎn)便的代碼重用
l 自動(dòng)化的內(nèi)存管理(垃圾收集)
CLR為我們自動(dòng)追蹤資源的使用情況。
l 堅(jiān)實(shí)的類型安全
CLR可以確保所有的代碼都是類型安全的。
l 豐富的調(diào)試支持
CLR完全支持跨語言調(diào)試
l 統(tǒng)一的錯(cuò)誤報(bào)告
CLR中,所有的失敗的調(diào)用是通過異常來報(bào)告的。
l 全新的安全策略
傳統(tǒng)的安全機(jī)制都是基于用戶賬號(hào)來控制的。
CLR中的代碼訪問安全為我們提供了以代碼為中心的控制方式。
l 強(qiáng)大的互操作能力
.net框架完全支持COM ,以及傳統(tǒng)DLL中的Win32函數(shù)。
5 集成開發(fā)環(huán)境 Visual Studio .Net
微軟的Visual Stuaio .net 2003是最好的.net 框架應(yīng)用程序開發(fā)工具。
總結(jié):
這一章主要講了.net平臺(tái)的構(gòu)成和.net平臺(tái)的最關(guān)鍵部分---CLR和FCL的特點(diǎn)。
.net框架的13大特點(diǎn):
1. 一致的編程模型
2. 簡(jiǎn)化的編程方式
3. 可靠的版本機(jī)制
4. 輕便的部署管理
5. 廣泛的平臺(tái)支持
6. 無縫的語言集成
7. 簡(jiǎn)便的代碼重用
8. 自動(dòng)化的內(nèi)存管理(垃圾收集)
9. 堅(jiān)實(shí)的類型安全
10. 豐富的調(diào)試支持
11. 統(tǒng)一的錯(cuò)誤報(bào)告
12. 全新的安全策略
13. 強(qiáng)大的互操作能力
其實(shí)我個(gè)人感覺第5條目前來說還不是很有意義 ,因?yàn)橹连F(xiàn)在為止.net框架只能在windows上很好的使用,聽說出了個(gè)mono但目前還不是很成熟吧? 第12條其實(shí)非常重要,基于用戶帳號(hào)的安全機(jī)制對(duì)于互聯(lián)網(wǎng)來說是不太安全的,這直接會(huì)影響到.net的普及程度,也就影響到我的飯碗 :)。
還有就是微軟的那些企業(yè)服務(wù)器我只知道一部分的用途,另一部分壓根不知道是干什么用的。也沒有時(shí)間主動(dòng)去找相關(guān)資料。前段時(shí)間參加了微軟開發(fā)者日才知道BizTalk是干什么用的。那個(gè)主講人也挺牛。資料上寫的暈暈乎乎的東西,被他講的清晰明了,一聽就懂啊。
技術(shù)或語言特性或者說一些集成方案,只有了解它,才會(huì)去主動(dòng)去使用它,但問題是,很多情況下不使用它也可以正常工作,只不過花費(fèi)的時(shí)間和代價(jià)更高。而我在用更高的代價(jià)解決問題時(shí),并不知道有一種更好的解決辦法存在,而且就在我身邊。我沒有太多時(shí)間去研究層出不窮的名詞背后的技術(shù)和特性。
有兩個(gè)辦法解決這個(gè)問題: 盡量的去了解各種新的事物,哪怕你剛開始認(rèn)為它跟你的工作和興趣風(fēng)牛馬不相及。另外一個(gè)就是期望那些提供商(比如微軟)在宣傳時(shí)更多的突出 程序員可以用那些產(chǎn)品解決實(shí)際應(yīng)用中的哪些問題。(起碼面像程序員的宣傳是這樣的)
分享:談.NET平臺(tái)編程語言的未來在去年的PDC2008召開期間,微軟逐步公開了圍繞.NET和編程語言的很多想法,據(jù)此我們可以饒有興趣地對(duì).NET的未來預(yù)測(cè)一番。 .NET平臺(tái)以運(yùn)行在通用語言運(yùn)行時(shí)(Common Language Runtime,CLR)上的C#和VB.NET作為開端。CLR是通用語言架構(gòu)(Common Language Infrast
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過程實(shí)現(xiàn)分頁示例代碼
- 相關(guān)鏈接:
- 教程說明:
.Net教程-.net 框架程序的設(shè)計(jì)。