国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

實(shí)戰(zhàn) .Net 數(shù)據(jù)訪問層 - 5

2024-07-10 12:57:19
字體:
供稿:網(wǎng)友


代碼4:我的data entity – 2,framework中的data entity

// dafbase:提供大部分應(yīng)用程序所需的基本data entity支持,

// 包括collection,ado.net

[serializable()]

public abstract class defbase : ilist, idictionary

{

protected internal string _typeentity = entitytype.object;



// collection fields

protected internal arraylist _al = null;

protected internal hashtable _ht = null;



// ado.net fields

protected internal dataset _dst = null;

protected internal datatable _tbl = null;

[nonserialized()]

protected internal dbdatareader _rdr = null;



public defbase() { }

public defbase(arraylist al)

{

this._al = al;

this._typeentity = entitytype.collection_arraylist;

}

...

public defbase(dataset dst)

{

this._dst = dst;

this._typeentity = entitytype.adox_dataset;

}

public defbase(datatable tbl)

{

this._tbl = tbl;

this._typeentity = entitytype.adox_table;

}

...

}

















































































以上,就是我的data entity小樣了(終于又要見人了j),是不

是感覺很“酷”啊?

坦率地講,根據(jù)我的保守估計(jì),八成以上的朋友會(huì)有“不敢茍同”之想法,而另外15%可能是不能確定,總有似曾相識(shí)(四不象?)卻又不盡相同的味道。至于這剩下的5%,我就不是很清楚了(希望是所見略同吧),如果哪位寫郵件告訴我“這正是我想要的,請你給我一份源碼吧”,估計(jì)我會(huì)毫不猶豫的立即奉上而不再考慮任何license問題(如果在1天內(nèi)沒有收到回復(fù),請您相信是作者開心得暈過去了,要不就是internet出問題了j)!



ok,簡單解釋一下:

可能大家已經(jīng)注意到一個(gè)問題,這里的def好像并不是data

entity的縮寫,那么,這個(gè)“f”到底代表什么呢?

前面曾經(jīng)提過,作者的這個(gè)數(shù)據(jù)訪問層解決方案起名字為data access façade(daf),參考的當(dāng)然是gof23條中的façade pattern,所以,有鑒于此,這里def中的“f”同樣包含著façade意思!



是不是有點(diǎn)復(fù)雜了?頭暈?沒有關(guān)系,且聽一一道來!



代碼2中給出的兩種經(jīng)典data entity模式各有其明顯的優(yōu)缺點(diǎn),基本上,就作者了解的情況,實(shí)際開發(fā)中都是以一種統(tǒng)一的方式進(jìn)行抉擇,難免就顧此失彼(總有些case是簡單的,也總有些case是讓人頭疼不已的)。如果,再加上系統(tǒng)架構(gòu)時(shí)必須考慮的其它因素,如:安全,性能,可擴(kuò)展性(接口/基類),可伸縮性(負(fù)載均衡/分布式處理)等,對于一個(gè)稍微上點(diǎn)規(guī)模的enterprise application,也就不難理解為何data access layer總是那么讓人又愛又恨了(sigh,data entity才只是萬里長征第一步啊l)!



所以,為了解決這個(gè)問題,作者感覺有必要搞一個(gè)相對比較generic的解決方案,所要解決的第一個(gè)問題就是:data entity!

所謂的def,當(dāng)然就是:data entity façade,說白了,就是以一

致的方式將數(shù)據(jù)展現(xiàn)在您的面前!這里的一致,不僅僅意味在當(dāng)前應(yīng)用程序中表現(xiàn)出一致的訪問方式(interface),還要能夠確保在一致的interface下支持不同的data entity模型(storage)。而所有這一切,都被隱藏在了一個(gè)特別搭建的data entity之后,它,就是作者daf解決方案中的第一步:data entity façade!簡稱為:def。



下一段:http://www.csdn.net/develop/read_article.asp?id=27548
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁南县| 芦山县| 惠东县| 乃东县| 阳东县| 松江区| 会宁县| 乌兰浩特市| 达尔| 治多县| 年辖:市辖区| 遂川县| 双辽市| 丘北县| 万山特区| 故城县| 高平市| 崇仁县| 龙井市| 休宁县| 微山县| 固阳县| 崇左市| 澄迈县| 武清区| 沾化县| 黔东| 和平县| 沭阳县| 道真| 浮梁县| 车险| 河曲县| 集贤县| 庆云县| 清新县| 云梦县| 武平县| 镇巴县| 高陵县| 阿克苏市|