學(xué)asp.net都知道它的最經(jīng)典的架構(gòu)是三層架構(gòu),也是目前應(yīng)用得最廣泛的一種架構(gòu).以前說(shuō)起三層架構(gòu)大家都知道m(xù)vc架構(gòu),這是html開發(fā)中用得比較多的,現(xiàn)在ajax主要就是用這種架構(gòu)。大家asp.net的三層是指數(shù)據(jù)訪問(wèn)層,業(yè)務(wù)邏輯層和表示層,而且都知道數(shù)據(jù)訪問(wèn)層是用來(lái)訪問(wèn)數(shù)據(jù)的,業(yè)務(wù)邏輯層是用來(lái)處理一些系統(tǒng)的業(yè)務(wù)邏輯的,表示層就是把內(nèi)容呈現(xiàn)出來(lái)給用戶,與用戶進(jìn)行交互的。劃分三層的好處就是每一層都是獨(dú)立的,修改其中一層一般不會(huì)影響其他層的代碼,這樣就大大的方便了日后的維護(hù)和升級(jí)。它最大的缺點(diǎn)是架構(gòu)和編碼都比較復(fù)雜,而且對(duì)性能的提高沒(méi)有任何幫助,反而還可能會(huì)降低執(zhí)行效率。
有時(shí)候真的覺(jué)得“三層”編起來(lái)挺麻煩的,在asp.net 2.0里,訪問(wèn)數(shù)據(jù)和顯示出來(lái)只要拖兩個(gè)控件就可以了(accessdatasource/sqldatasource和gridview),幾分鐘一個(gè)頁(yè)面就出來(lái)了,而且還具備了修改中,刪除,分頁(yè),排序等功能。而用三層架構(gòu)就麻煩多了,先要寫數(shù)據(jù)訪問(wèn)層的代碼,接著寫業(yè)務(wù)邏輯層的代碼(要調(diào)用數(shù)據(jù)層的方法),最后才是表示層,也就是頁(yè)面的設(shè)計(jì),還有調(diào)用業(yè)務(wù)邏輯層的代碼讀取數(shù)據(jù)。(注意:表示層是絕對(duì)不會(huì)訪問(wèn)數(shù)據(jù)層的內(nèi)容,只能通過(guò)業(yè)務(wù)層。業(yè)務(wù)層在這里是連接它們的橋梁。所以說(shuō)業(yè)務(wù)層是最重要的一層)既然這樣為什么還要用三層呢?前面提到的一層架構(gòu)的一個(gè)很大的問(wèn)題就是前臺(tái)和后臺(tái)代碼沒(méi)有很好的分開,不利于分工,第二,不利于日后的維護(hù)和升級(jí)。如果是個(gè)人主頁(yè)或者是一些一個(gè)人完成的小系統(tǒng)用一層還是挺方面的。如果是一些比較大的系統(tǒng),特別是企業(yè)級(jí)的應(yīng)用,就非用三層甚至n層不可了。一般三層就很夠了,再劃分
更多信息請(qǐng)查看IT技術(shù)專欄