一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

.NET 分布式架構(gòu)開(kāi)發(fā)實(shí)戰(zhàn)之三 數(shù)據(jù)訪問(wèn)深入一點(diǎn)的思考

  前言:

  首先,感謝朋友們對(duì)文章的支持,感謝大家,希望本系列的文章能夠真正的對(duì)大家起到一點(diǎn)幫助的作用。再次感謝大家。

  大家也許想問(wèn),什么時(shí)候出代碼,代碼一定會(huì)出的,我不想一上來(lái)就開(kāi)始拋出一大堆的代碼,然后講解,架構(gòu)的設(shè)計(jì)在思考的過(guò)程,思考到了,代碼也就水到渠成了。

  上篇文章講述在設(shè)計(jì)之初,Richard所畫出的一些草圖,本篇對(duì)之前的草圖做了進(jìn)一步的思考。

  本篇的議題如下:

  1、草圖的一些問(wèn)題在哪里

  2、重審之前項(xiàng)目中數(shù)據(jù)層的問(wèn)題

  3、思維的一點(diǎn)突破

  4、回首再看數(shù)據(jù)訪問(wèn)層

  1.草圖的一些問(wèn)題在哪里

  當(dāng)Richard把草圖畫出來(lái)了之后,想到了另外的一個(gè)問(wèn)題:在DAL數(shù)據(jù)層之間提供的那個(gè)接口層到底應(yīng)不應(yīng)該是Services Interface。其實(shí)這個(gè)接口層是普通的Interface層還是Services Interface,Richard也拿不定主意的,因?yàn)楫?dāng)初之所以要把這個(gè)接口層改為Services Interface,是因?yàn)樵跀?shù)據(jù)源提供者(Service Agent)那塊給了他靈感數(shù)據(jù)源可以使用遠(yuǎn)程的Services。基于這個(gè)思想,所以Richard也考慮到了:

  也許,現(xiàn)在設(shè)計(jì)的這個(gè)DAL,哪一天會(huì)作為服務(wù)給其他的程序提供數(shù)據(jù)也不說(shuō)定。

  雖然,這個(gè)問(wèn)題對(duì)現(xiàn)在來(lái)說(shuō)不是那么的重要,但是在Richard的心里,無(wú)法說(shuō)服自己到底使用哪一種接口層(也許是Richard這個(gè)人的性格有關(guān)吧,一定要給個(gè)理由說(shuō)服自己,但是這個(gè)理由又不能隨隨便便的糊弄自己)。

  Richard想到了之前在開(kāi)發(fā)項(xiàng)目的時(shí)候,也確實(shí)曾經(jīng)把其他公司提供的服務(wù)作為數(shù)據(jù)源的情況。當(dāng)時(shí)的調(diào)用雖然只是進(jìn)行查詢,增加,刪除,修改的簡(jiǎn)單操作,但是很多的流程已經(jīng)在服務(wù)提供者那邊定義好了,例如在發(fā)送一批貨物的時(shí)候,Richard只是調(diào)用了服務(wù)接口的一個(gè)CreateProduct(Product product)方法,但是在服務(wù)器那端卻做了很多的事情:計(jì)算庫(kù)存,生成訂單,選擇貨物供應(yīng)商等等。這樣說(shuō)來(lái),如果現(xiàn)在Richard把DAL上面加上一個(gè)Services Interface層,那么DAL或者其他的層就必須提供很多的邏輯操作,或者不一定是邏輯操作,還可以是數(shù)據(jù)格式驗(yàn)證、身份驗(yàn)證。

  如果真的這樣設(shè)計(jì),那么數(shù)據(jù)層的做的事情就很多了,要很多的邏輯。而這些邏輯在BLL中進(jìn)行才是比較好的選擇,想到這里,Richard似乎開(kāi)始明白:把Services Interface層放在BLL層之上。這樣就可以充分的利用BLL的邏輯驗(yàn)證功能。所以DAL之上的接口層,還是決定采用普通的接口。

  2.重審之前項(xiàng)目中數(shù)據(jù)層的問(wèn)題

  Richard在數(shù)據(jù)層DAL這塊花了大量時(shí)間來(lái)思考,其實(shí)是有原因的。在之前的項(xiàng)目中,數(shù)據(jù)層的設(shè)計(jì)顯得很臃腫,而且在Richard看來(lái),這些代碼已經(jīng)可以用一種比較通用的方式來(lái)寫,沒(méi)有必要寫那么復(fù)雜的代碼。

  例如,在EmployeeDAL中有以下的方法:

  代碼

public Employee GetEmployeeById(string employeeId);
public Emplpyee GetEmployeeByName(string employeName);
public string GetEmployeePositionById(string employeeId);
public int GetEmployeeCount();

NET技術(shù).NET 分布式架構(gòu)開(kāi)發(fā)實(shí)戰(zhàn)之三 數(shù)據(jù)訪問(wèn)深入一點(diǎn)的思考,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 天天躁天天爽 | 美国一级做a爰片性色毛片 美国一区二区三区 | 正在播放亚洲一区 | 精品视频一区二区三区在线播放 | 国产精品第一 | 国产社区在线 | 免费观看国产一区二区三区 | 91精品国产综合久久精品 | 精品成人免费一区二区在线播放 | 日韩精品一区二区三区四区 | 成人午夜免费视频毛片 | 精品福利影院 | 国产美女免费国产 | 免费观看黄色网 | 国产欧美日韩综合精品一区二区三区 | 国产精品合集一区二区三区 | 精品视频在线播放 | 九九在线精品视频 | 国产女主播福利在线 | 99色网| 亚洲国产成人综合精品2020 | 欧美国产91 | 免费一级做a爰片性色毛片 免费一看一级毛片人 | 国产精彩对白综合视频 | 国产精品视频一区二区猎奇 | 免费国产h视频在线观看 | 日本欧美一区二区 | 久久久久久久久久毛片精品美女 | 国产精品福利在线观看免费不卡 | 福利网在线观看 | 欧美成人精品第一区二区三区 | 97人人模人人揉人人捏 | 免费二级c片在线观看a | 国产区精品一区二区不卡中文 | 中文字幕一级毛片视频 | 欧美色欧美亚洲另类二区不卡 | 国产精品久久自在自2021 | 一区二区三区高清在线 | 国产剧情自拍 | 久久精品国产屋 | 美女色黄 |