国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談ASP.NET三層架構(gòu)在軟件開發(fā)中的應(yīng)用

2015-12-17 01:53:53李英李建文
電腦知識(shí)與技術(shù) 2015年28期

李英 李建文

摘要:三層架構(gòu)是指邏輯上的三層架構(gòu),通過在客戶端和數(shù)據(jù)庫之間引入中間層,將復(fù)雜的業(yè)務(wù)應(yīng)用進(jìn)行封裝,再從應(yīng)用模型中分離出來,使得開發(fā)的系統(tǒng)更具靈活性、可擴(kuò)展性和可維護(hù)性。

關(guān)鍵詞:數(shù)據(jù)訪問層;業(yè)務(wù)邏輯層;表現(xiàn)層

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)27-0059-02

隨著軟件技術(shù)的發(fā)展,三層體系架構(gòu)的應(yīng)用越來越廣泛。ASP.NET平臺(tái)將前臺(tái)界面和后臺(tái)代碼進(jìn)行分離,用模塊化的設(shè)計(jì)方法讓程序的可讀性更好、執(zhí)行效率更高。ASP.NET三層架構(gòu)開發(fā)應(yīng)用軟件時(shí),將業(yè)務(wù)邏輯放在中間層,與用戶界面分開。若需要修改應(yīng)用程序代碼,只需要對(duì)相應(yīng)層代碼進(jìn)行修改,而不需要對(duì)所有程序進(jìn)行修改,便于開發(fā)人員對(duì)系統(tǒng)進(jìn)行分析、設(shè)計(jì)和開發(fā)。

1 ASP.NET技術(shù)

ASP.NET是微軟在.NET Framework上提供的一個(gè)Web開發(fā)平臺(tái),是一種建立在公共語言運(yùn)行庫上的程序,可以創(chuàng)建功能強(qiáng)大的Web應(yīng)用程序。它使用組件技術(shù)將客戶端瀏覽器和Web服務(wù)器之間的通信進(jìn)行封裝,采用模塊化的設(shè)計(jì)方式將前臺(tái)界面和后臺(tái)代碼進(jìn)行分離,讓程序的可讀性更好、執(zhí)行效率更高。它全面使用XML配置文件,支持多種客戶端類型,在不同的客戶端自動(dòng)生成不同的代碼,無需軟件開發(fā)人員來考慮。它具有更強(qiáng)的安全機(jī)制,提供了Windows驗(yàn)證、Passport和Cookie三種不同的登錄驗(yàn)證方式確保開發(fā)的軟件更加安全[1]。ASP.NET采用ADO.NET技術(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的訪問,可以實(shí)現(xiàn)對(duì)表格類數(shù)據(jù)庫、關(guān)系型數(shù)據(jù)庫、非結(jié)構(gòu)數(shù)據(jù)庫和文字?jǐn)?shù)據(jù)庫(如XML文件)等數(shù)據(jù)源的訪問,可以通過Dataset和.NET Framework兩個(gè)核心組件完成從數(shù)據(jù)操作中分解出數(shù)據(jù)訪問的功能[2]。

2 三層架構(gòu)

三層架構(gòu),是對(duì)傳統(tǒng)的C/S結(jié)構(gòu)的發(fā)展,它在客戶端和數(shù)據(jù)庫之間加入了一個(gè)中間層。它將整個(gè)系統(tǒng)的業(yè)務(wù)應(yīng)用自上而下從邏輯上劃分為:表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層,而最上層表現(xiàn)層,直接在客戶端與用戶發(fā)生交互,接收用戶輸入的數(shù)據(jù),顯示系統(tǒng)處理的數(shù)據(jù)結(jié)果給用戶。中間層業(yè)務(wù)邏輯層,是數(shù)據(jù)訪問層和表現(xiàn)層之間數(shù)據(jù)交換的紐帶和橋梁,負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行傳遞和處理,可以實(shí)現(xiàn)對(duì)數(shù)據(jù)有效性的檢驗(yàn)、業(yè)務(wù)的邏輯描述等功能。為表現(xiàn)層提供調(diào)用接口,同時(shí)又可以調(diào)用數(shù)據(jù)訪問層[3]。最下層數(shù)據(jù)訪問層,為業(yè)務(wù)邏輯層或表現(xiàn)層提供數(shù)據(jù)服務(wù),根據(jù)業(yè)務(wù)邏輯層的數(shù)據(jù)處理請(qǐng)求對(duì)數(shù)據(jù)庫進(jìn)行訪問,真正完成數(shù)據(jù)的處理操作。這種三層架構(gòu)的設(shè)計(jì),每一層只實(shí)現(xiàn)相應(yīng)層的功能,層與層之間的交互由相鄰層對(duì)應(yīng)的功能模塊進(jìn)行調(diào)用,數(shù)據(jù)和信息的傳遞主要通過接口進(jìn)行傳送,達(dá)到了“高內(nèi)聚,低耦合”的目的。這種分層架構(gòu),各層之間的聯(lián)系較少,當(dāng)其中一層的需求發(fā)生變化時(shí),僅需要對(duì)相應(yīng)層中的代碼進(jìn)行修改,增強(qiáng)了代碼的可重用性,使系統(tǒng)更具靈活性、可擴(kuò)展性和可維護(hù)性。

3 ASP.NET中的三層架構(gòu)的搭建

ASP.NET使用 .NET 平臺(tái)搭建三層結(jié)構(gòu),如圖1所示。在前臺(tái)網(wǎng)頁中使用基于事件的處理,指定處理業(yè)務(wù)需求的后臺(tái)代碼文件。在 .NET中可以方便地實(shí)現(xiàn)組件的應(yīng)用,后臺(tái)代碼中只需要通過對(duì)控件進(jìn)行命名,就可以方便地使用自己定義的組件[4]。表現(xiàn)層由 Web 窗體和用戶控件構(gòu)成,主要包括ASPX 文件及相應(yīng)的CS文件。業(yè)務(wù)邏輯層通過Web表單的提交、Web 服務(wù)的調(diào)用和與其他服務(wù)組件的對(duì)接來實(shí)現(xiàn),通常以類庫的形式來實(shí)現(xiàn)。數(shù)據(jù)訪問層主要采用ADO.NET技術(shù)來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的訪問操作。

4 ASP.NET三層架構(gòu)在公文處理系統(tǒng)中的應(yīng)用

在公文處理系統(tǒng)中,發(fā)文處理階段的公文審批是較復(fù)雜的一個(gè)模塊。用戶的角色不同,具有的權(quán)限就不同,可以使用的功能當(dāng)然不同,即不同的角色的用戶具有不同的權(quán)限。采用三層架構(gòu)更方便地實(shí)現(xiàn)了每個(gè)角色的功能。

4.1 公文審批三層架構(gòu)

以公文審批設(shè)計(jì)為例,基于ASP.NET三層架構(gòu)的公文處理系統(tǒng),其中數(shù)據(jù)訪問層主要是指與公文審批相關(guān)的數(shù)據(jù)庫中的表以及通過ADO.NET對(duì)數(shù)據(jù)庫中的數(shù)據(jù)完成的訪問控制。業(yè)務(wù)邏輯層主要是指對(duì)公文處理過程的流程的控制,通過Database類實(shí)現(xiàn)與數(shù)據(jù)訪問層的通信。表示層是指在ASP.NET的安全控制下,通過各種頁面組件將用戶的數(shù)據(jù)請(qǐng)求信息傳遞給業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)的處理結(jié)果反饋給用戶。

4.2 ASP.NET三層架構(gòu)在公文處理系統(tǒng)中的實(shí)現(xiàn)

本公文處理系統(tǒng)基于ASP.NET Framework4.0和C#.NET2010,數(shù)據(jù)庫采用的是SQL Server2008, Web服務(wù)器為IIS6.0。這里以公文審批設(shè)計(jì)為例,來介紹ASP.NET三層架構(gòu)在公文處理系統(tǒng)中的實(shí)現(xiàn),實(shí)現(xiàn)三層架構(gòu)時(shí)采用自下而上的方法,首先創(chuàng)建數(shù)據(jù)訪問層,再創(chuàng)建業(yè)務(wù)邏輯層,最后來實(shí)現(xiàn)表現(xiàn)層。

1)創(chuàng)建數(shù)據(jù)庫

使用 SQL Server 2008 創(chuàng)建一個(gè)Tb_documet 數(shù)據(jù)庫 ,在數(shù)據(jù)庫中創(chuàng)建四個(gè)表:T_document_info (公文表單信息表)、T_flow_info (公文流程信息表)、T_step_info (公文步驟信息表)、T_document_path (公文路徑信息表)等,并設(shè)置好各表的主要字段及各表之間的關(guān)系。

2) 創(chuàng)建數(shù)據(jù)訪問層

首先用 Visual Studio2010創(chuàng)建一個(gè)網(wǎng)站 ,命名為Gwcl,選定網(wǎng)站存儲(chǔ)的位置,設(shè)置語言為C#,就會(huì)生成網(wǎng)站,包括Default.aspx默認(rèn)頁、App_Data文件夾等內(nèi)容。其次在解決方案資源管理器中添加新項(xiàng)數(shù)據(jù)集,并在配置向?qū)?duì)話框中選擇數(shù)據(jù)庫服務(wù)器 ,建立數(shù)據(jù)庫的連接??梢愿鶕?jù)需求,為數(shù)據(jù)庫中的表建立插入、刪除、查詢、修改等操作等相應(yīng)方法。

3)創(chuàng)建業(yè)務(wù)邏輯層。

首先,配置Web.config文件中的參數(shù)來連接數(shù)據(jù)庫,數(shù)據(jù)庫的連接信息在Web.config文件中的字段設(shè)置,指定數(shù)據(jù)庫服務(wù)器的名稱、數(shù)據(jù)庫的名稱、ID和密碼。其次,在App_Code文件夾中創(chuàng)建BLL類文件。最后利用BLL類對(duì)類型化數(shù)據(jù)集進(jìn)行訪問。所有的數(shù)據(jù)庫操作都通過調(diào)用Database類實(shí)現(xiàn)。

4)表示層的實(shí)現(xiàn)

表示層主要利用ASP.NET豐富的頁面組件,設(shè)計(jì)網(wǎng)頁的界面,實(shí)現(xiàn)用戶與應(yīng)用程序的交互。

5 總結(jié)

使用 ASP.NET三層架構(gòu)開發(fā)軟件,表現(xiàn)層不需要直接與數(shù)據(jù)層關(guān)聯(lián),只需要調(diào)用業(yè)務(wù)邏輯層提供的方法;業(yè)務(wù)邏輯層根據(jù)數(shù)據(jù)訪問層提供的方法可以自定義一些業(yè)務(wù)邏輯,不需要了解數(shù)據(jù)訪問層的具體實(shí)現(xiàn);數(shù)據(jù)訪問層負(fù)責(zé)對(duì)數(shù)據(jù)庫的訪問,只需通過修改相關(guān)的 SQL 語句和參數(shù)就可以對(duì)通用的方法進(jìn)行調(diào)用。這種分層架構(gòu)各層之間職責(zé)明確,便于軟件開發(fā)人員對(duì)應(yīng)用程序進(jìn)行管理、維護(hù)和升級(jí)。

參考文獻(xiàn):

[1] 張能立,萬歆,王睿.ASP_NET技術(shù)及其在企業(yè)辦公信息系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)與現(xiàn)代化,2005(8).

[2] 韓立華,張志英,王書海. ASP_NET三層架構(gòu)在科技獎(jiǎng)勵(lì)評(píng)審系統(tǒng)中的應(yīng)用[J]. 電子科技,2010,23(7) .

[3] 岳付強(qiáng).三層架構(gòu)在學(xué)位論文管理系統(tǒng)中的應(yīng)用研究[J].西昌學(xué)院學(xué)報(bào):自然科學(xué)版, 2010,24(4).

[4] 李玉榮. 基于_NET的三層架構(gòu)模式分析及應(yīng)用[J].電腦編程技巧與維護(hù),2015(8).

柳州市| 台湾省| 康平县| 文化| 康定县| 孟连| 绥中县| 汉源县| 娱乐| 东光县| 石景山区| 咸宁市| 株洲县| 阿坝县| 武鸣县| 沂南县| 湘乡市| 祁东县| 兴宁市| 泰顺县| 湾仔区| 阳春市| 抚宁县| 冕宁县| 射阳县| 天祝| 万年县| 武安市| 濉溪县| 武威市| 杭州市| 娄底市| 高碑店市| 安福县| 清涧县| 乐清市| 南城县| 桦南县| 响水县| 辽阳县| 吴旗县|