如何解析.NET三層架構(gòu),很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
淮南網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
所謂三層架構(gòu),是在客戶(hù)端與數(shù)據(jù)庫(kù)之間加入了一個(gè)“中間層”,也叫組件層。這里所說(shuō)的三層體系,不是指物理上的三層,不是簡(jiǎn)單地放置三臺(tái)機(jī)器就是三層體系結(jié)構(gòu),也不僅僅有B/S應(yīng)用才是三層體系結(jié)構(gòu),三層是指邏輯上的三層,即使這三個(gè)層放置到一臺(tái)機(jī)器上。
在項(xiàng)目開(kāi)發(fā)的過(guò)程中,有時(shí)把整個(gè)項(xiàng)目分為三層架構(gòu),其中包括:表示層(UI)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問(wèn)層(DAL)。三層的作用分別如下:
表示層:為用戶(hù)提供交互操作界面,這一點(diǎn)不論是對(duì)于Web還是WinForm都是如此,就是用戶(hù)界面操作。我們網(wǎng)站展示給用戶(hù)看的界面。
業(yè)務(wù)邏輯層:負(fù)責(zé)關(guān)鍵業(yè)務(wù)的處理和數(shù)據(jù)的傳遞。復(fù)雜的邏輯判斷和涉及到數(shù)據(jù)庫(kù)的數(shù)據(jù)驗(yàn)證都需要在此做出處理。根據(jù)傳入的值返回用戶(hù)想得到的值,或者處理相關(guān)的邏輯。
數(shù)據(jù)訪問(wèn)層:見(jiàn)名知意,負(fù)責(zé)數(shù)據(jù)庫(kù)數(shù)據(jù)的訪問(wèn)。主要為業(yè)務(wù)邏輯層提供數(shù)據(jù),根據(jù)傳入的值來(lái)操作數(shù)據(jù)庫(kù),增、刪、改或者其它。
以下我簡(jiǎn)單介紹下一個(gè)用戶(hù)管理模塊:
為了整個(gè)項(xiàng)目的開(kāi)發(fā)方便,我們?cè)陧?xiàng)目中會(huì)建幾個(gè)類(lèi)庫(kù)SQLHelper,BLL,DAL,Model和一個(gè)Web網(wǎng)站。為了命名清晰,我們可以這樣命名這個(gè)三個(gè)工程(即在解決方案里添加的類(lèi)庫(kù)):
業(yè)務(wù)邏輯層(BusinessLogicLayer):BLL,命名空間默認(rèn)設(shè)置為BLL
數(shù)據(jù)訪問(wèn)層(DataAccessLayer):DAL,命名空間默認(rèn)設(shè)置為DAL
SQL幫助類(lèi):SQLHelper,命名空間默認(rèn)設(shè)置為SQLHelper
另外我們?yōu)榱藬?shù)據(jù)傳遞的方便,通常再添加一個(gè)類(lèi)庫(kù),這個(gè)類(lèi)庫(kù)是貫穿于整個(gè)三層架構(gòu)中的。即實(shí)體類(lèi)。通常命名為Model,命名空間默認(rèn)值設(shè)置為:Models。其中封裝的每個(gè)類(lèi)都對(duì)應(yīng)一個(gè)實(shí)體,通常就是數(shù)據(jù)庫(kù)中的一個(gè)表。如數(shù)據(jù)庫(kù)中的用戶(hù)表(custom)封裝為(custom),將表中的每個(gè)字段都封裝成共有的屬性。
這樣三層架構(gòu)的搭建就基本完成了。這三層有著非常強(qiáng)的依賴(lài)關(guān)系:
表示層 ← 業(yè)務(wù)邏輯層 ← 數(shù)據(jù)訪問(wèn)層
他們之間的數(shù)據(jù)傳遞是雙向的,并且通常借助實(shí)體類(lèi)傳遞數(shù)據(jù)。
那么三層架構(gòu)都有哪些優(yōu)點(diǎn)呢:
1、易于項(xiàng)目的修改和維護(hù)。在項(xiàng)目的開(kāi)發(fā)過(guò)程中或者開(kāi)發(fā)后的升級(jí)過(guò)程中,甚至在項(xiàng)目的移植過(guò)程中。這種三層架構(gòu)是非常方便的。比如項(xiàng)目從Web移植到Form,我們只需要將表示層重新做一遍就可以了。其余兩層不用改動(dòng),只需添加到現(xiàn)有項(xiàng)目就可以了。如果不采用這種架構(gòu),只是將代碼寫(xiě)到表示層。那么所有的編碼幾乎都要重新來(lái)了。
2、易于擴(kuò)展。在功能的擴(kuò)展上同樣如此,如有功能的添加只需把原有的類(lèi)庫(kù)添加方法就可了
3、易于代碼的重用。這一點(diǎn)就不用解釋了。
4、易于分工協(xié)作開(kāi)
還可以加個(gè)接口類(lèi)庫(kù)Iinterface, 加入設(shè)計(jì)模式,使你的代碼靈活性更好,質(zhì)量更高。
其實(shí),當(dāng)我們做一個(gè)項(xiàng)目時(shí),我們應(yīng)該先考慮一下這個(gè)項(xiàng)目是不是應(yīng)該應(yīng)用三層/多層設(shè)計(jì)時(shí), 先得考慮下是不是真的需要? 實(shí)際上大部分程序就開(kāi)個(gè)WebApplication就足夠了, 完全沒(méi)必要作的這么復(fù)雜. 而多層結(jié)構(gòu), 是用于解決真正復(fù)雜的項(xiàng)目需求的。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。
名稱(chēng)欄目:如何解析.NET三層架構(gòu)
URL鏈接:http://sd-ha.com/article42/jiishc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、ChatGPT、微信小程序、虛擬主機(jī)、小程序開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)