最近進行了三層架構的學習,在進行三層架構學習之前我們心中就應該給自己提幾個問題,什麼是三層架構?我們為什麼要使用三層架構,同樣都是實現,我不使用三層架構去實現可以嗎?三層架構有什麼好處?這些問題我覺得應該貫穿在整個三層學習的過程中。
在三層結構之前就有兩層結構,就是客戶機(使用者介面和應用邏輯) /伺服器中間直接用sql語言去連線,三層結構是客戶機(使用者介面)/應用伺服器(應用邏輯)/資料庫伺服器,這是三層架構物理上的劃分。
什麼是三層架構?
三層架構就是將整個業務應用劃分為:表示層、業務邏輯層、資料訪問層。
我們為什麼要使用三層架構,同樣都是實現,我不使用三層架構去實現可以嗎?
使用三層架構就是為了符合「高內聚、低耦合」的思想,把各個功能模組劃分為表示層、業務邏輯層、資料訪問層、,各層之間採用介面互相訪問,並通過物件模型的實體類作為資料傳遞的載體,不同的物件模型的實體類一般對應於資料庫的不同表,實體類的屬性與資料庫表的欄位名一致。
當然,不使用三層架構直接編寫**也同樣可以完成我們想要的功能,但是,既然我們知道物件導向,知道寫程式要符合高內聚低耦合的思想,所以有更好的為什麼不去選擇呢。
三層架構有什麼好處?
開發人員分工更明確,將精力更專注於應用系統核心業務邏輯的分析、設計和開發,加快專案的進度,提高了開發效率,有利於專案的更新和維護工作。
各層介紹:
ui(表示層):主要是指與使用者互動的介面。用於接受使用者輸入的資料和顯示處理後使用者需要的資料。
bll(業務邏輯層):ui層和dal層之間的橋梁。實現業務邏輯。業務邏輯具體包括驗證、計算、判斷、業務規則等等。
dal(資料訪問層):與資料庫打交道,主要實現對資料的增、刪、改、查。將儲存在資料庫中的資料提交給業務層,同時將業務層處理的資料儲存到資料庫。(當然這些操作都是基於ui層的,使用者的需求反饋給介面(ui),ui反饋給bll,bll反饋給dal,dal進行資料的操作,操作後再一一返回,直到將使用者所需資料反饋給使用者)
model層
namespace login.model//是為了封裝資料,為了在三層之間傳輸資料,不會引用任何乙個程式集,但是其他三個都引用他
public
string username
public
string password
public
string email
}}
ui層:登入窗體
namespace loginui
private
void
btnlogin_click
(object sender,
eventargs e)
}}
bll層:登入管理員
namespace login.bll//業務邏輯層,要與資料訪問層進行互動,調動資料庫,從而判斷使用者輸入的賬戶密碼是否在資料庫中存在
else}}
}
dal層:三個類
class dbutil:用於儲存連線資料庫伺服器的sql語句
class scoredao:訪問資料庫中score表插入積分
class userdao:訪問資料庫中user表用於判斷是否存在此使用者
class dbutil:
namespace login.dal //用於儲存連線伺服器的sql語句
}
class scoredao:
namespace login.dal}}
}
class userdao:
namespace login.dal
user.id = reader.
getint32(0
);user.username = reader.
getstring(1
);user.password = reader.
getstring(2
);//not suggestionif(
!reader.
isdbnull(3
))}return user;}}
}}
因為在class scoredao和class userdao 這兩個類中都需要連線資料庫,而且連線資料庫的語句還很長,所以我們把連線資料庫的語句封裝成乙個類,用乙個string型別的connstring物件接收,之後需要連線資料庫時只需要進行呼叫connstring物件就可以了,物件導向裡面的封裝,提高了**的復用性。
那麼到此為止我們的三層架構已經分析完畢,期待下次的分享吧。
三層架構總結
剛剛看完三層架構,趁此機會總結一下。所謂的三層架構就是將整個業務應用劃分為 表現層 ui 業務邏輯層 bll 資料訪問層 dal 而區分層次的目的即為了 高內聚,低耦合 的思想。表現層 ui 就是使用者所使用的系統的介面,表現層直接跟使用者打交道。業務邏輯層 bll 實際的事物處理層,主要負責具體問...
三層架構總結
什麼是三層?通常意義上的三層架構就是將整個業務應用劃分為 表示層 presentation layer 業務邏輯層 business logic layer 資料訪問層 data access layer 區分層次的目的即為了 高內聚低耦合 的思想。各層的作用 ui 表現層 主要是指與使用者互動的介...
三層架構總結
前言 最進進行了三層架構的學習,給我的最大的感覺就是三層完美的實現了分工合作,完美的實現了高內聚,低耦合的原則!接下來簡單的介紹一下三層架構!一 什麼是三層結構 三層結構通常是指資料訪問層 dal 業務邏輯層 bll 和表示層 ui ui層在最上層,為使用者提供互動式的介面,一般就是我們見到的,眼睛...