引言
比起諄諄教誨,有時見證乙個人的成長,能更多的幫助自己成長。
內容一、什麼是
三層?
三層架構(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層還是留下了些印象。現在自己來到三層結構的學習了,對師哥講的那些詞算是有種久違的感覺。下面就對三層結構的初識做個總結。一 多層結構的劃分方式。結構的...