初識三層結構

2021-09-23 21:27:23 字數 2481 閱讀 7128

第一次聽說三層結構,是九期的乙個師哥在給我們講高校雲平台。那天的感覺像是在聽天書,以前從沒有接觸過。不過,那幾個不斷在師哥口中重複的名詞bll層、dal層還是留下了些印象。現在自己來到三層結構的學習了,對師哥講的那些詞算是有種久違的感覺。下面就對三層結構的初識做個總結。

一. 多層結構的劃分方式。結構的劃分方式有兩種,分別是物理上和邏輯上。從物理的角度來說,可分為顯示層、

業務層和資料層。從邏輯的角度看,可分為ui層、bll+dal層以及db層。這裡我們所說的三層結構是指邏輯上劃分的三層。

剛開始還真沒發現物理上與邏輯上有什麼差別,想想這不都是同樣的三層嗎。這個問題不解決,後面的學習就更是問題。後來發現,它們兩個根本不是一回事,物理上的三層是指客戶機、應用伺服器和資料庫伺服器,可以稱得上是三颱機器。而邏輯上的三層是指一台機器上包含了表示層、應用層、資料層和資料庫,也可以成為模組,這樣可能容易理解些。

值得注意的是,從邏輯結構到物理結構的對應關係並不是唯一的,了解到應該是包含五種。不過現在覺得自己的學習還沒有達到那樣深層的階段,這裡就不詳細研究了,還是先知道就好。大家可以參考下面的圖有個簡單了解。

二.為什麼要使用三層架構。為什麼要用三層,這個問題的答案很簡單,可以想想之前學習的軟工思想。在整個程式設計中,最基本的就是「高內聚低耦合」的思想。所以,有了三層,將模組間分層,這樣程式出錯可以分層去檢查,各層次間也不會發生相互影響,就大大提高了效率。

既然談到這裡,就簡單的說說三層架構的優缺點。

優點:1. 開發人員可以只關注整個結構中的其中某一層。

2. 可以很容易用新的實現來替換原有層次的實現。

3. 可以降低層與層之間的依賴。

4. 有利於標準化。

5. 利於各層邏輯的復用。

缺點:1. 降低系統的效能。如果不採用分層式結構,很多業務可以直接訪問資料庫,以此獲取相應的資料,如今卻必須通過中間層來完成。

2. 有時導致級聯的修改。如果在表示層中需要增加乙個功能,為保證其設計符合分層式結構,可能需要在相應的業務邏輯層和資料訪問層中都增加相應的**。

在此也有一點需要宣告:三層結構也不是萬能的,它有優點也有缺點,在軟體開發中,也要視情況而定究竟需不需要使用它。緊隨其後的就是下乙個問題。

三.什麼情況下需要使用三層架構。一句話的總結:當業務複雜到一定程度,當資料儲存到相應的資料庫或資料儲存介質。

前面這些都是對三層巨集觀上的介紹,下面就是對三層中各層的深入剖析。

一. 資料訪問層(dal)

1. 作用

1) 從資料來源載入資料(select)

2) 向資料來源寫入資料(insert/update)

3) 從資料來源刪除資料(delete)

2. 常用的技術

1) ado.net+sql語句

3) 訪問sql server資料庫時linq to sql

3. 具體應用原則

只提供基本的資料訪問,不包含任何業務相關的邏輯處理。

4. 認識與體會

在機房收費系統中,我們都建立了與資料庫之間的連線。在這裡,我們一遍遍寫sql

語句,反覆對資料庫中的資料進行增刪改查,所以利用sql語句對資料的處理肯定是不陌生。不過,現在分層之後,光從上面的那些技術來看,瞬間就感覺高大的,還有很多我們要學習的地方。

二. 顯示層(ui)

1. 作用

1) 向使用者展現特定業務資料

2) 採集使用者的輸入資訊和操作

2. 設計原則

使用者至上,兼顧簡潔

3. 常用技術

1) windows form:form、control

2) asp.net :aspx, ascx, master, html

4. 具體應用原則

只負責顯示和採集使用者操作,不包含任何的業務相關的邏輯處理。

5. 認識與體會

這一層看似簡單,但要做得好確實非常困難的。就還是拿之前做的收費系統來說,

我自己覺得我做的介面已經很好了,整齊乾淨,控制項的大小也很統一,但驗收的時候,**就覺得怎麼看怎麼彆扭,還覺得很亂,這樣,就給使用者不好的心情了。雖說是蘿蔔青菜,各有所愛,但軟體開發還是要去做符合喜聞樂見的大眾文化的介面好,使用者這一關就不難了。在三層的學習中,顯示層也有這麼多的技術可以參考,可想,要做出一道佳餚,還需要我們學好技術才行啊。

三. 業務邏輯層(bll)

1. 作用

1) 體現核心價值的部分,關注點集中在業務規則的制定、業務流程的實現等與業務系統有關的系統設計。

2) 處於訪問層與表示層中間,起到了資料交換中承上啟下的作用。

2. 具體應用原則

負責處理業務邏輯。通過獲取ui傳來的操作指令,決定執行業務邏輯,在需要訪問

資料來源的時候直接交給dal處理。處理完成後,返回必要資料給ui。

3. 認識與體會

邏輯層,看著名字就覺得它不簡單,功能的實現很大程度上是依賴它其中的**的。

加上它又是兩層的中間,所以關係的依賴與否對其來說是關鍵。

三層學習 初識

引言 比起諄諄教誨,有時見證乙個人的成長,能更多的幫助自己成長。內容一 什麼是 三層?三層架構 3 tier architecture 通常意義上的三層架構就是將整個業務應用劃分為 介面層 user inte ce layer 業務邏輯層 business logic layer 資料訪問層 dat...

初識三層架構

1 使用者介面表示層 ui 2 業務邏輯層 bll 3 資料訪問層 dal ui 顯示和採集使用者操作,不包含任何業務相關的邏輯處理 dal 只提供基本的資料訪問,不包含任何業務邏輯處理 bll 處理業務邏輯,通過獲取ui傳來的使用者指令,執行業務邏輯,在需要訪問資料來源的時候,直接交個dal進行處...

初識三層架構

複雜專案不能把sql語句直接寫到程式裡,不模組化 難以維護,應該採用三層架構。web開發中的三層架構也是同樣的結構。模型層model 資料訪問層dal data access layer 業務邏輯層bll business logic layer 實體類就是model 對資料進行操作的 寫在dal中...