簡析.net|簡析.net 3層或多層架構(gòu)
發(fā)表時間:2023-07-26 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]簡析.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í)教程快速掌握從入門到精通的電腦知識