三層學習 初識

2021-07-09 19:47:04 字數 1953 閱讀 7367

引言

比起諄諄教誨,有時見證乙個人的成長,能更多的幫助自己成長。

內容一、什麼是

三層?

三層架構(3-tier architecture) 通常意義上的三層架構就是將整個業務應用劃分為:介面層(user inte***ce layer)、業務邏輯層(business logic layer)、資料訪問層(data access layer)。區分層次的目的即為了「

高內聚低耦合

」的思想。

三層結構的劃分方式:物理/邏輯

物理:顯示層/業務層/資料層

邏輯:ui / bll+dal / db

而我們常常討論的是三層結構是:ui / bll / dal

二、為什麼使用三層?

其實主要目的已經在上面已有闡述下面來細化一下

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

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

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

4.有利於標準化

5.利於各層邏輯的復用

6.結構更加的明確

7.在後期維護的時候,極大的降低了維護成本

三、各層的作用

1.介面層(u):主要表示web方式,也可以表示成winform方式,主要是和使用者打交道,向使用者展現特定業務資料,負責顯示和採集使用者的操作,不包含任何的業務相關的邏輯處理

2.業務邏輯層(b):主要針對具體的問題操作,也可以理解成對資料層的操作,對資料業務邏輯處理,如果說資料層是積木,那邏輯層就是對這些積木的搭建。

3.資料訪問層(d):主要是對原始資料(資料庫或者文字檔案等存放資料的形式)的操作層,而不是指原始資料,也就是說,是對資料的操作,而不是資料庫,具體為業務邏輯層提供資料服務。

三、怎麼做,如何應用?

下面是我的c#**利用三層結構在登入窗體中的應用。

**的邏輯還不是很完善,並且只是入門,更好的使用還有待後續的實踐。

以下**注釋只是個人見解,如有異議還請提出,互相提高。

b層**

namespace login.bll

else}}

}

d層**

namespace login.dal

}

namespace login.dal}}

}

namespace login.dal

//***看不太懂,希望通過前面的理解解釋,但是解釋不通

user.id = reader.getint32(0); //****這對這個幾個變數的賦值情況不是太懂****

user.username = reader.getstring(1);

user.password = reader.getstring(2);

if (!reader.isdbnull(3))

}return user; //返回user}}

}}

實體層

namespace login.model

public string username

public string password

public string email }}

u層 

private void btnlogin_click(object sender, eventargs e)

總結二十幾年走來,我想做的一直都是不一樣,但是現在,我卻發現,可能我真的錯了。

初識三層架構

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

初識三層架構

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

初識三層結構

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