下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C#.NET下三層架構(gòu)數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)摘要:基于C#.NET下的三層架構(gòu)數(shù)據(jù)庫系統(tǒng)在目前的大型Web數(shù)據(jù)庫體系中非常常見,這主要是因?yàn)樗拈_發(fā)模式相當(dāng)快速便捷,且具有較高的可重復(fù)性和可維護(hù)性事物處理機(jī)制。本文結(jié)合實(shí)踐應(yīng)用論述了關(guān)于C#.NET三層架構(gòu)數(shù)據(jù)庫的應(yīng)用標(biāo)準(zhǔn)流程,并給出了由數(shù)據(jù)庫變化所導(dǎo)致的三層架構(gòu)程序變化修改策略,以避免傳統(tǒng)數(shù)據(jù)庫應(yīng)用系統(tǒng)中所存在的編譯錯(cuò)誤。關(guān)鍵詞:C#.NET;數(shù)據(jù)庫應(yīng)用系統(tǒng);三層架構(gòu);訪問層;表現(xiàn)層;邏輯層C#作為一種計(jì)算機(jī)語言,它不僅僅局限于對(duì).NET應(yīng)用程序的開發(fā),它也能夠基于WinForm程序展開設(shè)計(jì)開發(fā)流程,所以將C#編程語言移植到.NET平臺(tái)中是較為
2、常見的。在該語言的支持下,ASP.NET平臺(tái)就應(yīng)運(yùn)而生。目前的ASP.NET平臺(tái)可以支持例如企業(yè)ERP、APS等系統(tǒng),其應(yīng)用范圍遍布于氣象、交通、救護(hù)等領(lǐng)域,發(fā)揮著巨大的社會(huì)價(jià)值作用。但是隨著數(shù)據(jù)庫應(yīng)用系統(tǒng)規(guī)模的越來越大,數(shù)據(jù)庫內(nèi)結(jié)構(gòu)的越來越復(fù)雜,代碼的出錯(cuò)率就越來越高,這就加大了維護(hù)工作的難度。基于C#.NET語言環(huán)境下的三層架構(gòu)數(shù)據(jù)庫應(yīng)用系統(tǒng)就可以以它模塊化的分層設(shè)計(jì)模型解決現(xiàn)有系統(tǒng)所存在的維護(hù)性及系統(tǒng)可用性問題,將復(fù)雜的問題簡(jiǎn)單化,促進(jìn)系統(tǒng)功能體系的整體發(fā)揮。一、對(duì)三層體系結(jié)構(gòu)的分析(一)三層體系結(jié)構(gòu)的基本概況三層體系結(jié)構(gòu)就是在客戶端與數(shù)據(jù)庫間所加入的中間層,它也被稱為是組件層。三層體系
3、結(jié)構(gòu)不是指代物理結(jié)構(gòu)中的三層,而是基于邏輯思維的三層,它們共同作用于同一臺(tái)設(shè)備上。從應(yīng)用功能角度來分析,三層體系結(jié)構(gòu)中應(yīng)用程序的數(shù)據(jù)訪問、校驗(yàn)以及業(yè)務(wù)規(guī)則等等都放在了中間層實(shí)施處理。而通常情況下,三層體系結(jié)構(gòu)是不提供客戶端與數(shù)據(jù)庫之間的交互的,它主要基于COM/DCOM通訊手段來和中間層銜接建立聯(lián)系,并經(jīng)由中間層與數(shù)據(jù)庫實(shí)施交互作業(yè)。(二)三層體系結(jié)構(gòu)的交互具體操作流程三層體系結(jié)構(gòu)的交互具體操作流程主要基于三點(diǎn)。第一點(diǎn)是數(shù)據(jù)訪問層與數(shù)據(jù)庫之間的交互,當(dāng)訪問層在數(shù)據(jù)庫獲取數(shù)據(jù)并將其傳遞到業(yè)務(wù)邏輯層后,業(yè)務(wù)的實(shí)際應(yīng)用需要就會(huì)被滿足。再者,業(yè)務(wù)邏輯層的數(shù)據(jù)操作指令也會(huì)實(shí)時(shí)傳遞至數(shù)據(jù)庫,實(shí)現(xiàn)對(duì)數(shù)據(jù)的接
4、收、存儲(chǔ)、處理和刪除等基本操作。第二,在三層體系結(jié)構(gòu)中業(yè)務(wù)邏輯層的主要作用是承接上下層,實(shí)現(xiàn)基于數(shù)據(jù)邏輯處理的交互功能,從而促進(jìn)業(yè)務(wù)應(yīng)用。第三,表示層可以實(shí)現(xiàn)數(shù)據(jù)庫系統(tǒng)與用戶之間的交互,接受并反饋來自于用戶的請(qǐng)求,體現(xiàn)數(shù)據(jù)結(jié)果的流通,但在這層中是不存在任何數(shù)據(jù)處理過程的。綜上所述,三層架構(gòu)下所建立的數(shù)據(jù)庫服務(wù)器在子服務(wù)器的連接數(shù)量方面有大幅度減少。而且在基于校驗(yàn)與規(guī)則的中間層,如果業(yè)務(wù)規(guī)則發(fā)生任何變化時(shí),只需要更改諸如DLL這樣的中間層組件,就能夠?qū)崿F(xiàn)對(duì)系統(tǒng)的維護(hù),這其中是不涉及任何應(yīng)用程序修改處理的。舉例來說,在數(shù)據(jù)庫中將Oracle轉(zhuǎn)為SQLServer,只要在數(shù)據(jù)訪問層對(duì)所對(duì)應(yīng)的數(shù)據(jù)庫連
5、接類實(shí)施修改就能促成維修管理行為,而不用修改任何其它層代碼,所以基于C#.NET的三層架構(gòu)在應(yīng)用過程中具有很高的可重用性和可維護(hù)性1。二、C#.NET下三層架構(gòu)數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)流程分析本文主要按照自下而上的遞進(jìn)關(guān)系來對(duì)三層結(jié)構(gòu)進(jìn)行數(shù)據(jù)庫應(yīng)用系統(tǒng)的建立。(一)數(shù)據(jù)訪問層的建立在建立數(shù)據(jù)訪問層之前首先要添加新項(xiàng),并同時(shí)選擇數(shù)據(jù)集。其次是在數(shù)據(jù)集中添加數(shù)據(jù)庫鏈接。最后將數(shù)據(jù)表也拖入數(shù)據(jù)集中,點(diǎn)擊DataTableAdapterData后,系統(tǒng)就會(huì)自動(dòng)生成InsertCommond、DeleteCommand以及UpdateCommand3層??紤]到系統(tǒng)本身可能存在bug,所以在修改GetData
6、后上述的3層數(shù)據(jù)結(jié)構(gòu)很可能會(huì)消失,所以應(yīng)該及時(shí)拷貝保存它們,并在它們后面修改sql語句,作為系統(tǒng)體系構(gòu)建基礎(chǔ)。(二)業(yè)務(wù)邏輯層的建立由于數(shù)據(jù)訪問層屬于數(shù)據(jù)處理的核心部分,所以它的整體變動(dòng)還是相對(duì)較小的。而在業(yè)務(wù)邏輯層方面則要根據(jù)實(shí)際業(yè)務(wù)的需求來靈活變動(dòng)修改。對(duì)業(yè)務(wù)邏輯層的處理首先要在網(wǎng)站添加新項(xiàng)目,并在新項(xiàng)目后編寫類代碼,舉例代碼如下:PublicdsNainai.deviceDataTableGetDevicesByLineIDDeviceID(int投入生產(chǎn)線ID,int設(shè)備ID)Elseif(投入生產(chǎn)線ID0,設(shè)備ID0),returnAdapter.GetDevicesByLineID
7、.ElsereturnAdapter.GetDeviceByDevicelD(設(shè)備ID)如果系統(tǒng)構(gòu)建所采用的是沒有中間業(yè)務(wù)層的雙層結(jié)構(gòu)模式,則可以利用表現(xiàn)層來取代業(yè)務(wù)層訪問數(shù)據(jù)層。它的缺陷就在于現(xiàn)實(shí)模式相對(duì)更加固定,所以在訪問數(shù)據(jù)過程中不如中間業(yè)務(wù)層靈活2。(三)表現(xiàn)層的設(shè)計(jì)在設(shè)計(jì)表現(xiàn)層時(shí)可以運(yùn)用GridView對(duì)表現(xiàn)層整體狀況進(jìn)行顯示觀察,并利用DetailsView來記錄表現(xiàn)層變化情況,配置二者的數(shù)據(jù)源。在開啟DetailsView軟件后,就可以點(diǎn)擊顯示智能標(biāo)志并選擇編輯字段,在字段選項(xiàng)中設(shè)置“所選定的字段”,保證所選擇的字段能夠與數(shù)據(jù)庫中的字段相互一致,避免數(shù)據(jù)庫中參數(shù)矛盾現(xiàn)象的產(chǎn)生。配置表現(xiàn)層數(shù)據(jù)源時(shí),要將“只顯示數(shù)據(jù)組件”這一選項(xiàng)勾掉,就能夠任意選擇邏輯層定義方法,可以見得在表現(xiàn)層的設(shè)計(jì)過程中所有的數(shù)據(jù)集建立方法都是可行的,之所以配合邏輯層進(jìn)行系統(tǒng)體系構(gòu)建是因?yàn)樗趹?yīng)用方面更加靈活,可以對(duì)業(yè)務(wù)邏輯進(jìn)行細(xì)化處理3。總結(jié):基于C#.NET下的三層架構(gòu)在數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)建設(shè)的安全性方面具有較大優(yōu)勢(shì),且設(shè)計(jì)過程照比傳統(tǒng)設(shè)計(jì)更加靈活,這些都是利于其未來發(fā)展的重要優(yōu)勢(shì)。但其開發(fā)成本較高也是現(xiàn)今技術(shù)領(lǐng)域與企業(yè)不得不面對(duì)的問題,這些還有待于未來的進(jìn)一步挖掘和研究,從而實(shí)現(xiàn)系統(tǒng)開發(fā)趨于良性方向的有利改善。參考文獻(xiàn)1 王海燕.C#NET下三層架構(gòu)數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)J計(jì)算機(jī)技術(shù)與發(fā)展,20
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度網(wǎng)絡(luò)安全咨詢與管理服務(wù)合同范本
- 2025版電子信息產(chǎn)業(yè)零配件綠色供應(yīng)鏈管理合同4篇
- 2025年度互聯(lián)網(wǎng)金融服務(wù)合同6篇
- 年度水解彈性蛋白產(chǎn)業(yè)分析報(bào)告
- 年度皮膚科醫(yī)院市場(chǎng)分析及競(jìng)爭(zhēng)策略分析報(bào)告
- 2024-2025學(xué)年新教材高中政治第3單元經(jīng)濟(jì)全球化第7課第1框開放是當(dāng)代中國(guó)的鮮明標(biāo)識(shí)課時(shí)分層作業(yè)含解析新人教版選擇性必修1
- 何謂二零二五年度合同履行的擔(dān)保專項(xiàng)審計(jì)與報(bào)告合同3篇
- 二零二五版毛竹山承包及竹林農(nóng)業(yè)科技示范合同3篇
- 速寫線性課程設(shè)計(jì)
- 2024金融服務(wù)合同范本大全
- 河南省信陽市浉河區(qū)9校聯(lián)考2024-2025學(xué)年八年級(jí)上學(xué)期12月月考地理試題(含答案)
- 火災(zāi)安全教育觀后感
- 農(nóng)村自建房屋安全協(xié)議書
- 快速康復(fù)在骨科護(hù)理中的應(yīng)用
- 國(guó)民經(jīng)濟(jì)行業(yè)分類和代碼表(電子版)
- ICU患者外出檢查的護(hù)理
- 公司收購設(shè)備合同范例
- 廣東省潮州市2023-2024學(xué)年高二上學(xué)期語文期末考試試卷(含答案)
- 2024年光伏發(fā)電項(xiàng)目EPC總包合同
- 子女放棄房產(chǎn)繼承協(xié)議書
- 氧化還原反應(yīng)配平專項(xiàng)訓(xùn)練
評(píng)論
0/150
提交評(píng)論