明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

簡析.net|簡析.net 3層或多層架構(gòu)

[摘要]簡析.net 三層或多層架構(gòu) .net 三層架構(gòu),其實該架構(gòu)也可以用于其它的語言,只是語言的不同,但其原理是相同的,下面簡單介紹一下的結(jié)構(gòu): 三層其實大家都能講的出來,但是不是所有的人都能把內(nèi)在的東...

簡析.net 三層或多層架構(gòu)

 .net 三層架構(gòu),其實該架構(gòu)也可以用于其它的語言,只是語言的不同,但其原理是相同的,下面簡單介紹一下的結(jié)構(gòu):

 三層其實大家都能講的出來,但是不是所有的人都能把內(nèi)在的東西說清楚,我曾經(jīng)面試一些人叫他們把三層的原理講一下,都是這樣描述的,三層:表示層,邏輯層,數(shù)據(jù)層。至于怎么去組織這層與層的關(guān)系,怎么去區(qū)分這這三層,代碼怎么仿制,他的好處在哪里,就說的不是很清楚了。

下面我簡單的介紹一下三層的一些細(xì)節(jié)的地方,在實際的項目中怎么去組織:

1.三層:表示層,邏輯層,數(shù)據(jù)層。需要在解決方案里建立五個項目(都是類庫),當(dāng)然命名也是需要規(guī)范的,

比如:公司名.項目名.類庫名,實例:Zbird.ERP.BLL

具體的項目名是:

1.Zbird.ERP.IDAL(數(shù)據(jù)訪問接口)。

2.Zbird.ERP.DAL(數(shù)據(jù)層,操作數(shù)據(jù)的)。

3.Zbird.ERP.BLL(邏輯層,具體的邏輯),其中這里最好是再建立一個文件夾,比如(Entity_BLL)

4.Zbird.ERP.Model(實體映射)。

4.Zbird.ERP.DALFactory(數(shù)據(jù)工廠),為了解耦所以需要加這一層。

重文件夾的意思能看的出來是數(shù)據(jù)訪問的邏輯。其它的業(yè)務(wù)邏輯就可以直接放在外面。

如果還要繼續(xù)分的話比如:Zbird.ERP.Utility,把一些公用的類放的這里。如果有控件或者有其它的再繼續(xù)分,

比如Zbird.ERP.WebControls。

說到這里你可能要問,那表示層到哪里去了,表示層其實一個概念,至于你要怎么展現(xiàn)數(shù)據(jù),就需要建立對應(yīng)的層,比如是用winform,或是web,或是console,等都可以的,這也是為什么要建立三層的其中原因之一。

下面介紹一下項目之間的引用關(guān)系。

從數(shù)據(jù)層開始,這是最底層的東西,需要引用實體映射,也就是model 層,還有實體接口 IDAL,這也是一個關(guān)系約束,如果有些公用的類庫,可能就需要引用公用的類庫,

邏輯層:需要引用model 層,數(shù)據(jù)訪問層DAL,還有實體接口 IDAL ,數(shù)據(jù)工廠DALFactory,如果有些公用的類庫,可能就需要引用公用的類庫,

表示層: 需要引用model 層 ,邏輯層BLL ,如果有些公用的類庫,可能就需要引用公用的類庫。

要需要注意的是不要亂引用項目,這樣就是失去三層的意思。

 下面介紹一下,使用該架構(gòu)的好處:

1.可以靈活的切換表示層。

2.適合團(tuán)隊開發(fā)。

3.靈活的切換數(shù)據(jù)庫。

4.項目關(guān)系解耦。

5.容易上手。

關(guān)于三層架構(gòu)就介紹到這里,只要還有一些細(xì)節(jié)的地方需要自己再想一想,如果有問題可以與我聯(lián)系,

E-Mail:likegs06@163.com


學(xué)習(xí)教程快速掌握從入門到精通的電腦知識