最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.net三層結(jié)構(gòu)初探分析第2/4頁(yè)

 更新時(shí)間:2008年09月08日 20:42:54   作者:  
最近開始對(duì)架構(gòu)開始了研究,當(dāng)然由于水平不夠,先研究了“簡(jiǎn)單的三層結(jié)構(gòu)”,至于“抽象工廠模式”放后面來研究吧!

三層結(jié)構(gòu)要求不能跨層訪問,在圖1中大家可以看到,3個(gè)層之間是逐層依賴的。與普通“單類結(jié)構(gòu)”最明顯的區(qū)別是,這里舉一個(gè)添加數(shù)據(jù)的例子(偽代碼):

單類結(jié)構(gòu)(直接依賴于數(shù)據(jù)基類):
string sname = "阿會(huì)楠";
string surl     = "sosuo8.com";
string strSql = "insert into admin(sname,surl) values('" + sname + "','" + surl + ')";
DB.exeSQL(strSql);

       我想對(duì)于單類結(jié)構(gòu)來說,總是在WEB層拼湊SQL語句,然后調(diào)用數(shù)據(jù)操作類執(zhí)行SQL語句,這樣速度確實(shí)快一些。

看看三層結(jié)構(gòu)
web層:
string sname = "阿會(huì)楠";
string surl = "sosuo8.com";
Model.admin model  = new Model.admin();//實(shí)體類
model.sname = sname;
mode.surl     = surl:
BLL.admin bll  = new BLL.admin();
bll.Add(model);

BLL層:
public void Add(MODEL.admin model)

       dal.Add(model);
}

DAL層(需要依賴于DBUtility數(shù)據(jù)基類):
public void Add(Model.admin model)
{
       string strSql = "insert into admin(sname,surl) values('" + model.sname + "','" + model.surl + "')":
       DB.executeSQL(strSql);
}

Model實(shí)體類:
private string _sname;
private string _surl:
public string sname
{
       set{_sname = value;}
       get{return _sname};
}
public string surl
{
       set{_surl = value;}
       get{return _surl;}
}

       你看出之間一層層的依賴關(guān)系了嗎?“單類結(jié)構(gòu)”直接就是WEB->DBUtility,而三層是WEB->BLL->DAL->DBUtility,MODEL作為實(shí)體類都可以不算一個(gè)層,COMMON也是,DBUtlity也是,它們只能算是把具有共同使用功能的代碼堆放在一起。所以,三層就是WEB(界面層)->BLL(邏輯處理層)->DAL(數(shù)據(jù)訪問層),并且是層層依賴。而后面引申出來的項(xiàng)目(COMMON,MODEL,DBUtlity),并不算層。按我理解是這樣,如果有什么理解錯(cuò)誤或不妥的地方歡迎指出,大家一起討論。

最好的學(xué)習(xí)方法就是看代碼,我寫了比較簡(jiǎn)單的給大家學(xué)習(xí)下:

相關(guān)文章

最新評(píng)論

于田县| 盈江县| 沂南县| 哈尔滨市| 双流县| 洞口县| 肃北| 厦门市| 边坝县| 友谊县| 新田县| 铅山县| 福清市| 广水市| 天水市| 雷山县| 嘉峪关市| 民县| 余庆县| 镇安县| 安仁县| 鹤峰县| 西安市| 开鲁县| 余庆县| 扎鲁特旗| 伊吾县| 祥云县| 济宁市| 万荣县| 桐城市| 临洮县| 华安县| 黄梅县| 体育| 辉县市| 营山县| 历史| 繁峙县| 东乌珠穆沁旗| 自治县|