現在,我們針對實作此架構的中間層作討論,瞭解這一層的組成相當重要,建構系統的過程中,你有很多的時間會花在處理這一層的內容上面,整個系統的應用程式邏輯,也都是在這一層處理,當然,資料庫伺服器中的預儲程序也包含了一部份的運算邏輯,不過這不在我們討論的範圍了…
前一篇文章「建立網站-從分層架構開始」解釋了多層式架構的概念,現在,我們針對實作此架構的中間層作討論,瞭解這一層的組成相當重要,建構系統的過程中,你有很多的時間會花在處理這一層的內容上面,整個系統的應用程式邏輯,也都是在這一層處理,當然,資料庫伺服器中的預儲程序也包含了一部份的運算邏輯,不過這就不在我們討論的範圍了。
當然,還是直接截取「「ASP.NET 商業級資料庫網站開發實務」」一書當中的「拆解中間層」一節作說明:
==============================================
當系統規模愈來愈大,為了將中間層的功能進一步單純化,同時提高系統維護的彈性,我們還會依功能將系統進一步切割成兩層:商業邏輯層與資料存取層,列舉說明如下:
- 商務邏輯層(Business Logic Layer):聯繫資料存取層與展示層,取得資料資料存取層的資料內容,進行資料的維護與存取,將資料公開至展示層,或是執行反向作業,將使用者在網頁上所執行的資料異動,反映至資料存取層。
- 資料存取層(Data Access Layer):存取底層的資料來源,封裝了存取資料所需的ADO.NET程式碼,也只有這一層能夠直接與資料來源進行溝通。
透過分層設計,存取底層資料來源的程式碼得以進一步與展現層切開,商業邏輯層本身只負責引用資料存取層的類別,不會牽涉資料存取的細節,也因此我們可以有效的對展示層隱藏資料庫架構等重要的相關細節,同時透過資料存取層切換,輕易的針對不同的資料來源進行存取。
無論商業邏輯或是資料存取,從實作的層面來看,均是一些類別的組合,這些類別構成可供外部程式碼引用存取的資料元件,因此對於開發人員來說,建立中間層事實上是一連串類別的開發過程。
資料存取層只是單純的針對資料來源作存取,開發人員可以選擇自行建立類別或是直接利用Visual Studio所提供的視覺化資料集設計師,為我們直接建立所需的資料集。
商業邏輯層則是開發人員根據自身需求,撰寫邏輯運算程式碼所建立的功能類別,負責連結網頁的資料控制項與中間層的資料存取類別。
==============================================
依然是概念性的討論,不過這對於初次接觸多層式架構設計的入門者會有一些幫助,下一次我們討論所謂的展示層。