天天看點

c# 三層結構的簡單了解

三層,一般包含:

資料通路層:也叫 DataAccess層、DAL(DataAccess Layer層),這一層的工作就是與資料庫或其它檔案打交道,

業務邏輯層:也叫中間層,Bussiness Logical layer,也可說是Bussiness Rule(業務規則),這一層是處理業務邏輯的。

外觀層:不記得英文縮寫了,P開頭的,呵呵,這一層主要是與使用者打交道,也就是界面。比如是Web,也可能是WinForm.

打個比方來說,你要做一個簡單的功能:往資料庫裡插入一條學生記錄

外觀層:隻是處理你的界面應該怎麼展示,比如控件的布局,還有一個主要的就是把界面上控件内的資料讀取下來。這一層主要做的事情,就是從外部擷取資料,當然還有一些簡單的判斷,比如判斷那些資料是不能為空的,必須輸入。

然後調用中間層的一個通路,通過參數的形式轉過去。

中間層的接到從外觀屋傳來的資料,這裡就做業務輯邏的判斷。比如判斷隻有20歲以上的人才能儲存在資料庫等,反正這裡是關心業務的,通過業務邏輯層的資料,就調用資料通路層的方法

資料通路層隻做與資料庫打交道的工作(也可以是與檔案打交道,畢竟儲存資料的地方不隻有資料庫)。資料庫通路層不會對業務邏輯做過多的判斷,他的任務就是為了把中間層傳過來的資料如果儲存在資料庫中。

三層架構隻是一種思想,就是任務職責的分解。

簡單的說,你可以用三個函數(function)來實作,

比如fun1的任務是把界面上的資料讀取兩個數字中,然後把這兩個資料傳給fun2,他不管fun2拿這兩個資料來幹什麼的。

fun2的任務就是把這兩個數字相減或相加,fun1和fun3是不管的(這一層是的操作是根據你的具體業務來)。

第三個fun3的任務就是通路資料庫,把fun2操作運算過的一個數字儲存到資料庫中

再大一點,你可以用三個類來分開實作

再大一點來說,你可以建三個不同的項目來實作(企業級架構就是這樣的)

轉載于:https://www.cnblogs.com/hyteddy/archive/2010/05/26/1744065.html