|
為什么使用三層結(jié)構(gòu):
首先要明確,三層結(jié)構(gòu)并不能使系統(tǒng)變快,實(shí)際上它會(huì)比起“單類結(jié)構(gòu)”慢。但越來越多人使用三層結(jié)構(gòu)開發(fā),為啥呢?我在使用中,發(fā)現(xiàn)三層結(jié)構(gòu)十分清晰,一個(gè)類,一個(gè)文件你該放在哪層就放哪層,不會(huì)象單類結(jié)構(gòu)那樣全部放到App_Data中,造成結(jié)構(gòu)混亂。當(dāng)然,使用三層結(jié)構(gòu)的原因肯定不是那么膚淺,它對(duì)團(tuán)隊(duì)開發(fā),系統(tǒng)可維護(hù)性有十分重要的意義。
三層結(jié)構(gòu)是代碼量增多,且代碼多重復(fù)?
確實(shí),三層代碼要寫很多很白癡,很簡(jiǎn)單的代碼,比如MODEL這個(gè)實(shí)體類,如果你需要一個(gè)admin的實(shí)體,那么你需要寫這樣的代碼:
復(fù)制代碼 代碼如下:
public class admin
{
private int? _id;
private string _sname;
private string _spassword;
public int? id
{
set { _id = value; }
get { return _id; }
}
public string sname
{
set { _sname = value; }
get { return _sname; }
}
public string spassword
{
set { _spassword = value; }
get { return _spassword; }
}
}
而有多個(gè)實(shí)體的話,你要再寫這些白癡代碼,為什么叫它白癡代碼?因?yàn)檫@些代碼你看著個(gè)表就可以寫出來了。一次和老湯討論中,介紹了一個(gè)軟件,叫做“動(dòng)軟.NET代碼生成器”,這些白癡代碼讓這個(gè)軟件自己去生成吧!在這里也推薦大家用這個(gè)軟件,可以減少很多代碼量,BLL,DAL,WEB層的代碼都可以去生成,但要完全符合使用的話,還需要自己做些修改。
下面講講我理解的三層,先上張圖1:

BLL:邏輯處理層。
DAL:數(shù)據(jù)訪問層
DBUtility:數(shù)據(jù)層基類
Model:實(shí)體類
Common:存放公用函數(shù)

這里需要講講那個(gè)DBUtility這個(gè)層,你可以看到有4個(gè)文件:
1、DbHelperOleDb.cs:用于SQL語句
2、DbHelperOleDbP.cs:用于存儲(chǔ)過程
3、DbHelperOleDbS.cs:用于具體實(shí)現(xiàn),比如“根據(jù)條件判斷是否存在”、“返回最大的ID”...
4、PubConstant.cs:數(shù)據(jù)庫連接代碼
AspNet技術(shù):.net三層結(jié)構(gòu)初探分析第1/4頁,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。