[轉].net總結

一、.NET定義。

.NET 是Microsoft XML Web services 平臺。XML Web services 允許應用程序通過 Internet進行通訊和共享數據,而不管所採用的是哪種操作系統、設備或編程語言。

可以實現跨平臺語言呼叫和繼承。

二、.NET應用組件。

CLR是公共語言運行時,Common LanguageRuntime)和Java虛擬機一樣也是一個運行

時環境,它負責資源管理(內存分配和垃圾收集),並保證應用和底層操作系統之間必要的分離。

BCL一個公共編程框架,成爲基類庫,所有語言的開發者都能利用它。包括ASP.NET

類別、ADO.NET類別、windows類別、XML類別、GDI+類別、系統類別

IL是.NET框架中中間語言(Intermediate Language)。使用.NET框架提供的編譯器可

以直接將源程序編譯爲.exe或.dll文件,但此時編譯出來的程序代碼並不是CPU能直接執行的機器代碼,而是一種中間語言IL(IntermedateLanguage)的代碼。

GUI圖形用戶界面(Graphical User Interface,簡稱GUI,又稱圖形用戶接口)是指採

用圖形方式顯示的計算機操作用戶界面。

三、.NET錯誤拋出和處理

.NET中的錯誤:

A.錯誤被視爲是物件。

B.錯誤是透過拋出的方式被引發。

C.錯誤可以透過Catch的方式被捕捉。

.NET中的錯誤種類:

.NET中的錯誤處理:

使用Try-Catch語法

使用Catch語法來捕捉可能發生的錯誤。



四、.NET與數據庫。

A.數據庫(資料庫)

數據庫是存儲資料的固定位置。一個數據庫可以包含很多個數據表。數據庫的正規

化可以幫助你設計資料庫。

數據庫管理系統(DBMS)包括兩個東西:數據和數據庫引擎。

管理數據庫的工具有:SQL、Microsoft Access等

B.數據庫接口(ADO.NET)

1、ADO.NET基礎

主要有兩個元件:.NET Framework資料提供者和DataSet

(1).NET Framework 資料提供者將有關資料庫存取的細節封裝起來。用於管理資料順向制度資料的元件。

.NET Framework裏面含有Connection 物件、Command物件、DataReader、DataAdapter

Connection物件會提供資料來源的連接。

Command物件可讓您存取資料庫命令,以便傳回資料、修改資料、執行預存程序 (Stored Procedure),並且傳送或擷取參數資訊。

DataReader則可提供來自資料來源的高效能資料流。

DataAdapter會提供 DataSet 物件與資料來源之間的橋接器 (Bridge)。DataAdapter 會使用 Command 物件與資料來源處執行 SQL命令,以便將資料載入 DataSet,並且將 DataSet 內的資料變更調節回資料來源。

(2)DataSet是不依賴於數據庫的獨立數據集合。所謂獨立,就是說,即使斷開數據鏈路,或者關閉數據庫,DataSet依然是可用的,DataSet在內部是用XML來描述數據的,由於XML是一種與平臺無關、與語言無關的數據描述語言,而且可以描述複雜關係的數據,比如父子關係的數據,所以DataSet實際上可以容納具有複雜關係的數據,而且不再依賴於數據庫鏈路。

DataSet是離線式的Recordset在分散式應用程序中特別有用。



五、.NET部署。

一個軟件系統可能分佈在很多電腦上,包括用戶端、服務器、數據庫等,讓一個系統運行所需要做的設置成爲部署。

.NET開發的程序需要在.NET平臺上才能運行,所以,首先需要測試目標主機有沒有安裝.NETFramework。

通過Windows Update或Installer Script讓用戶自己選擇安裝

VS.NET可以設置安裝過程,在安裝軟件之前檢查機器裏是否有.NETFramework,如果沒有進行安裝。

.NETFramework有不同的版本,DLLs默認在編譯它時的Framework上運行,可以通過.config指定運行.net Framework版本。

部署方式

1、.NET 的 XCOPY 部署

  .NET程序集的部署與以前版本相比顯得簡單的多,可以被稱爲 XCOPY 部署。XCOPY 部署意味着在很多情況下,都只用簡單地將 .NET應用程序目錄拷貝到目標位置。

  以下的 .NET特性使得該簡單部署過程成爲可能。

  每個程序集都是自描述的,因爲程序集包含定義其內容的元數據。這個特性杜絕了用無止境的註冊表登記項來定義各個組件的公共接口的做法。

   .NET程序集中的每個組件都使用標準的位置,因此不需要在註冊表中進行定義。

  可以用配置文件來修改組件的位置,不過程序集在標準位置查詢這些配置文件,從而避免了註冊過程。

  但是,還有部署過程更加複雜的情形,例如:

   .NET 應用程序與 COM組件的交互仍然需要註冊。

  在遠程計算機上將程序集預編譯爲本地代碼需要比僅僅將文件拷貝到目標目錄更多的過程。

  將程序集安裝到遠程計算機的全局程序集緩衝中時需要更多的步驟以使該程序集成爲全局共享程序集。

   當安裝與 .NET 框架一起部署的Windows 服務時,這些服務需要在目標系統註冊。

   某些 .NET應用程序安裝過程需要在其它服務中設置對象,如活動目錄、 Internet 信息服務,以及集成於 Windows Server系統的服務器軟件,需要運行其他的應用程序或腳本來創建和配置這些對象。

  當定製一個用戶環境,例如開始菜單項、桌面快捷方式、控制面板小程序、自定義文件夾以及 Office 外接程序時,需要安裝程序創建所有這些自定義的項目。

2、“零接觸”部署

給應用程序的.EXE設定一個URL,用戶端通過瀏覽器(IE)等,打開URL連接應用程序。

.NET將AppBase設爲WebServer的虛擬目錄

AppBase即應用程序主目錄,.EXE所在目錄

用戶從AppBase下載.EXE、DLLs,然後,顯示,用戶請求結果

3、共用部署

將共用的各個版本組件安裝到GAC中

具有強式名稱的組件載入的效率比較快

4、下載快取部署。

使用CodeBase來指定DLLs位置。

部署新版的.EXE就會出發下載新版的DLLs

六、.NET多線程設計。

1、一個CPU如何做到Concurrency(多個操作同時執行)?

使用硬件做CPU切換。每隔一段時間程序切換一次。

2、如何解決用戶端等待的問題?

A.重新設計分散式應用程序。改用非同步機制。

B.在客戶端使用多執行緒機制。多執行緒是在一個程式內部實作多工的能力。程式可以把它自己分隔爲各自獨立的「執行緒」,這些執行緒似乎也同時在執行着。這一概念初看起來似乎沒有什麼用處,但是它可以讓程式使用多執行緒在背景執行冗長作業,從而讓使用者不必長時間地無法使用其電腦進行其他工作(有時這也許不是人們所希望的,不過這種時候去沖沖涼或者到冰箱去看看總是很不錯的)!但是,即使在電腦繁忙的時候,使用者也應該能夠使用它。

3、多執行緒設計上的困難?

A.協調問題。

B.通訊問題。

C.同步問題。

七、軟件工程與工具。

1、軟件工程的方法。

A.eXtremeProgramming

主要原則:

1.把客戶端整合到軟件開發流程中。

2.隨時設計。

3.隨之測試。

4.每天或每週都產生原型。

軟件工程工具

1、UML繪圖工具。

2、代碼分析工具。

3、測試工具。

4、原始碼管理工具。

5、文件產生工具。

6、Make工具。



思維導圖如下:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章