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

首頁 > 編程 > .NET > 正文

實戰 .Net 數據訪問層 - 3

2024-07-10 12:57:54
字體:
來源:轉載
供稿:網友
2. data entity façade



代碼2:傳統data entity

// customer1:包含基本字段的customer,屬輕量級data entity

[serializable()]

public class customer1: xxx // xxx表示可能存在的基類

{

public string id;

public string name;

public string phone;



public customer1() {...}

}



// customer2:從dataset繼承的customer,又稱typed dataset

[serializable()]

public class customer2 : system.data.dataset

{

private customersdatatable tablecustomers;

private ordersdatatable tableorders;



private datarelation relationfk_orders_customers;



public customer2() {...}

...

}























































實際上,還有一些方案中可能采用了混合模式,比如:雖然從

dataset繼承(簡單的可以直接從datatable繼承),但只實現typed

dataset的部分功能;或者,雖然包含了基本字段,但在內部實現了

數據填充或轉換(在petshop中,數據通過dal以reader方式獲取

并填充至data entity,并沒有直接使用data entity進行轉換);還有

一種最徹底的方式:直接采用reader作為data entity進行cross

layer數據交換!這樣,性能是最高了,但也給其它layer開發人員

帶來了一些不必要的煩惱l。



對于只包含基本字段的data entity,使用起來非常簡單,同時還

能以自己比較熟悉的方式編寫程序,然而,付出的代價也不小:對

于比較復雜的case,處理起來就不那么得心應手(即使framework

提供了這些功能,卻很不ease of use,這個可從borland eco所帶

的ocl中略知一二,.net framework objectspaces中所帶的opath

也是半斤八兩l)!

幸好,上述的缺點正是typed dataset之強項!

雖然體形龐大,但不失靈活,這就是ado.net帶給我們的“禮

物”j不得不承認,用typed dataset雖然可能導致一系列問題(性

能,維護),但有時候我們還真是愿意體會這種“痛,并快樂著”的

感覺(當然了,這種感覺并不僅僅限于處理復雜case時的ease of use

體驗)!

duwamish這樣做了,作者的前一個項目也這樣做了,您是不是

也準備這樣做呢(系統架構師們不定又要大發雷霆了j)?



ok,說這么多,就一個目的:當然是“隆重推出”作者自己“苦

心孤詣”多年卻被“無數”系統架構師“否決”的data entity!實戰

沒機會,管它呢,先發個稿子到這里,待大家一起討論討論,看看

是否有出頭之日j。



下一段:http://www.csdn.net/develop/read_article.asp?id=27546
注冊會員,創建你的web開發資料庫,
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海晏县| 城步| 泾源县| 海伦市| 巴林右旗| 惠东县| 顺义区| 元朗区| 和政县| 垫江县| 寻甸| 通江县| 柳州市| 贵南县| 枣庄市| 阳新县| 福建省| 磐石市| 油尖旺区| 扶沟县| 长武县| 南召县| 隆德县| 咸宁市| 澎湖县| 泗洪县| 江津市| 金湖县| 团风县| 郓城县| 海兴县| 海盐县| 兖州市| 井研县| 万安县| 呼和浩特市| 涿州市| 平原县| 青海省| 达孜县| 青海省|