1. 程式人生 > >ASP.NET開發三層結構應用程式

ASP.NET開發三層結構應用程式

  三層結構介紹

  所謂三層體系結構,是在客戶端與資料庫之間加入了一個"中間層",也叫元件層。這裡所說的三層體系,不是指物理上的三層,不是簡單地放置三臺機器就是三層體系結構,也不僅僅有B/S應用才是三層體系結構,三層是指邏輯上的三層,即使這三個層放置到一臺機器上。

  三層體系的應用程式將業務規則、資料訪問、合法性校驗等工作放到了中間層進行處理。通常情況下,客戶端不直接與資料庫進行互動,而是通過COM/DCOM通訊與中間層建立連線,再經由中間層與資料庫進行互動。

  ASP.net只是.net中的一部分。它最大的優點除了是編譯執行速度快外,我覺得最大的優點是頁面和程式碼分離的編寫方式(效果就象DELPHI裡的FORM設計介面和處理程式碼分離一樣),對我們這些慣使RAD工具的人來說不啻是個福音。再加上.net庫提供的支援事件的各種WEB控制元件,和以前編寫網頁方式相比可謂是一場革命。隨著分散式物件技術的逐漸成熟,多層分散式應用體系結構得到了越來越多的應用。應用系統只有向多層分散式轉變,才能最終解決CLIENT/SERVER結構存在的問題。在多層架構下,應用可以分佈在不同的系統平臺上,通過分散式技術實現異構平臺間物件的相互通訊。將應用系統集成於分散式系統之上,能極大地提高系統的可擴充套件性。

  在多層分散式應用中,在客戶端和伺服器之間加入了一層或多層應用服務程式,這種程式稱為"應用伺服器"。開發人員可以將應用的商業邏輯放在中間層應用伺服器上,把應用的業務邏輯與使用者介面分開。在保證客戶端功能的前提下,為使用者提供一個簡潔的介面。這意味著如果需要修改應用程式程式碼,只需要對中間層應用伺服器進行修改,而不用修改成千上萬的客戶端應用程式。從而使開發人員可以專注於應用系統核心業務邏輯的分析、設計和開發,簡化了應用系統的開發、更新和升級工作。

  Microsoft.NET 為三層結構做的準備


  Microsoft .NET Framework是微軟推出的一套下一代開發平臺。.NET 基於開發人員的角度來說它是一個公共平臺的類庫(FCL),包含了近100 個名稱空間(namespace)的近5000個類,想想看這是多的強大,還包括一個公共語言執行庫(CLR)。因為只要符合.NET的公共執行規範(CLS的語言都可以 使用它提供的強大的類,並編譯為微軟的中間語言(MSIL),在其他的應用中就可以當作一個元件來呼叫。同時享受公共執行庫帶來的一切好處: 垃圾自動回收(GC)、實時編譯(JIT)、跨語言互動、跨平臺。 .NET 還可比喻是作業系統提供給開發人員的面向對像的API。 ASP.net是.net中的一部分。它最大的優點除了是編譯執行速度快外,我覺得最大的優點是頁面和程式碼分離的編寫方式,再加上.net庫提供的支援事件的各種WEB控制元件,以及.NET公共平臺的類庫(FCL),和以前編寫網頁方式相比可謂是一場革命。

  用ASP.NET部署三層架構


  ASP.NET可以使用.NET平臺快速方便的部署三層架構。ASP.NET革命性的變化是在網頁中也使用基於事件的處理,可以指定處理的後臺程式碼檔案,可以使用C#,VB,J#作為後臺程式碼的語言。.NET中可以方便的實現元件的裝配,後臺程式碼通過命名控制元件可以方便的使用自己定義的元件。顯示層放在ASP頁面中,資料庫操作和邏輯層用元件來實現,這樣就很方便的實現了三層架構。



  下面分別就各層的實現舉個製作留言簿的小例子。

  我們首先在sqlserver資料庫中建一個數據庫GestDB,在GestDB中建表:Guestbook