ASP.NET的CodeBehind程式碼後置模式 |
|
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
ASP.NET的CodeBehind程式碼後置模式
http://blog.sina.com.tw/archive.php?blog_id=4907&md=entry&id=1980 ASP.NET網頁包括兩部份:視覺化項目 (HTML、伺服器控制項和靜態文字)和網頁的程式設計邏輯。Visual Studio .NET分別將這些元件儲存在個別檔案中:
1.視覺化項目建立在.aspx 之中。
2.而程式碼位於個別的類別檔案中,稱為程式碼後置類別檔案 (.aspx.cs 或.aspx.vb)。 在ASP.NET中的程式設計主要是以Web Form網頁的型式為中心,透過Web Form 網頁,您可以建立可程式化的 Web 網頁,作為您 Web 應用程式的使用者介面。Web Form 網頁在任一種瀏覽器或用戶端裝置中向使用者展示資訊,並使用伺服端程式碼實作應用程式邏輯。Web Form 網頁輸出幾乎包含任何可使用HTTP的語言,包括 HTML、XML、WML和 ECMAScript (JScript、JavaScript)。
Web Form 網頁包括兩部份:(1)視覺化項目 (HTML、伺服器控制項和靜態文字)和(2)網頁的程式設計邏輯。Visual Studio .NET分別將這些元件儲存在個別檔案中:
1.視覺化項目建立在.aspx 之中。
2.而程式碼位於個別的類別檔案中,稱為程式碼後置類別檔案 (.aspx.cs 或.aspx.vb)。
筆者認為這樣的分離技術在網頁設計上是一大進步,能夠使得程式清晰明瞭、簡單易懂,可以讓程式的結構更為良好的說不盡好處。
雖然您也可以用傳統ASP程式手法來撰寫ASP.NET程式,將(1)視覺化項目和(2)程式邏輯寫在同一個.aspx檔案中,有時也稱為「單一檔案」Web Form 網頁。但這種寫法已經過時了,以微軟新一代的.NET技術而這,並不讚成使用這種不良的方式撰寫ASP.NET程式,理由如下:
1.不良的程式結構。如果將程式邏輯或商業邏輯與HTML標籤或伺服器控制項混雜在一起,基本上很難寫出結構清楚、明瞭易懂的程式。
2.程式難以維護。由於程式碼與HTML標籤混雜在一起,往往很難追蹤原來程式的邏輯,且隨著程式愈來愈大,如此問題會顯得更嚴重,最後終成程式設計師頭痛的難題。
3.難以專業分工。在許多大型的程式設計專案,版面視覺化設計工作是由美工人員負責;而程式碼商業邏輯工作則由程式設計師來設計。倘若將所有東西寫在同一個檔案當中,會造成一個問題,如美工人員可能會不小心刪掉或修改到程式碼;而程式設計師基於安全性理由並不願程式碼曝光讓美工人員看到,所以這是沒法克服的缺點。
4.無法藉由從Visual Studio工具箱拖曳隱藏式 (Non-Visual) 元件的方式,將其加入至網頁 (例如資料元件),因為 Web Form 設計工具不會在網頁中保存 (Persist) 這些元件。反而應在程式碼中加入這類元件。
5.使用Visual Studio開發時,是在 HTML 檢視中寫入程式碼,而不是在程式碼編輯器中。
6.當在Visual Studio寫入程式碼時,Intellisense 是不受到支援的,也就是說無法使用語法檢查或陳述式完成、定位或程式碼格式等功能。
7.必須手動將事件繫結至事件處理常式。針對單一檔案 Web Form 網頁,Visual Studio 不支援連按兩下來建立控制項預設事件的事件處理常式,也不支援在程式碼編輯器中提供類別和事件的下拉式清單。
8.部份偵錯功能是不支援的,例如無法藉由將滑鼠指向變數值的方式來加以檢視。
9.由於網頁中的程式碼不會編譯為專案組件,因此要到網頁執行時才能夠攔截編譯時期錯誤。 故衷心地建議千萬別再用以前「單一檔案」的方式來撰寫ASP.NET程式,如此是不能徹底發揮ASP.NET技術的優點。
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |