亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于C#.NET下三層架構數(shù)據(jù)庫應用系統(tǒng)開發(fā)分析

        2013-12-31 00:00:00叢書勤
        計算機光盤軟件與應用 2013年17期

        摘 要:C#.NET三層架構體系是一種高效靈活的系統(tǒng)設計機制。本文首先介紹了使用三層架構所建立的數(shù)據(jù)庫系統(tǒng)所具有的應用優(yōu)勢,然后分別就表現(xiàn)層、業(yè)務邏輯層、數(shù)據(jù)層等三部分的邏輯功能及建立進行了研究與討論。

        關鍵詞:C#;.NET;三層架構;數(shù)據(jù)庫

        中圖分類號:TP311.52

        隨著計算機及其相關軟件的應用領域和應用需求不斷拓展,數(shù)據(jù)庫管理系統(tǒng)及分層設計方式得到了重點關注。數(shù)據(jù)庫可以按照相應的用戶策略來對海量的數(shù)據(jù)信息進行管理與維護,數(shù)據(jù)庫的應用極大的提升了數(shù)據(jù)管理的自動化和智能化程度,可以在更短時間內(nèi)實現(xiàn)更高效的信息處理。模塊化分層設計則是現(xiàn)代系統(tǒng)設計與實現(xiàn)的最主要原則之一,其可以簡化實現(xiàn)復雜度,增強系統(tǒng)各功能的結(jié)構性、可用性以及可維護性,同時,系統(tǒng)分層設計條理更加清晰,擴展性和替換性更好,因此分層設計是系統(tǒng)設計的主流趨勢。

        1 三層架構體系及其優(yōu)勢分析

        傳統(tǒng)的系統(tǒng)結(jié)構是一種客戶/服務類型的二層結(jié)構,這種結(jié)構下的用戶端直接與數(shù)據(jù)庫服務器端進行數(shù)據(jù)通信,整個通信過程中缺乏一個統(tǒng)一的業(yè)務和數(shù)據(jù)訪問規(guī)則對用戶行為進行限制或管理,因而這種結(jié)構下的系統(tǒng)結(jié)構復雜,管理難度大,還容易因用戶的不當操作影響到數(shù)據(jù)庫功能及其相關內(nèi)容。

        為進一步提升系統(tǒng)的安全性、可管理性,組件層作為中間層被引入到用戶層和數(shù)據(jù)庫層之間共同構成三層架構體系。該體系結(jié)構下,用戶層的應用程序和數(shù)據(jù)訪問請求等都需要經(jīng)由中間層按照預設的規(guī)則和策略審核和處理后才能夠被轉(zhuǎn)發(fā)到數(shù)據(jù)庫中執(zhí)行。這樣就避免了用戶與數(shù)據(jù)庫服務器的直接通信,因而該結(jié)構下的數(shù)據(jù)庫安全性能得到了大幅度提升。此外,中間層負責業(yè)務規(guī)則過濾、數(shù)據(jù)訪問控制、操作校驗等內(nèi)容,其可擴展性和可移植性更強,便于用戶根據(jù)實際使用需求便捷高效的對數(shù)據(jù)庫應用系統(tǒng)進行調(diào)整。

        三層系統(tǒng)結(jié)構中,用戶端通過COM/DCOM相關組件與中間層建立通信連接,中間層按照用戶請求與相關策略與數(shù)據(jù)庫進行交互。具體的,中間層包括表示層、邏輯層以及數(shù)據(jù)訪問層等,各層負責如下內(nèi)容:表示層的主要對象為用戶,其可以接收用戶對數(shù)據(jù)庫應用系統(tǒng)的相關操作請求或數(shù)據(jù)讀寫請求,并接收上一層的數(shù)據(jù)返回給用戶,整個過程主要負責相關信息的傳遞,并不涉及數(shù)據(jù)的處理;業(yè)務邏輯層是表示層與數(shù)據(jù)訪問層的承接層,其主要負責上下層之間的數(shù)據(jù)傳遞與邏輯處理,是具體的應用實現(xiàn)層;數(shù)據(jù)訪問層主要負責與數(shù)據(jù)庫進行交互,其一方面接收業(yè)務邏輯層傳輸過來的請求指令并將其轉(zhuǎn)化為數(shù)據(jù)庫系統(tǒng)可識別的指令傳遞給數(shù)據(jù)庫供其執(zhí)行相關操作,如數(shù)據(jù)訪問、修改、存儲等,另一方面可以將數(shù)據(jù)庫的返回信息傳遞給業(yè)務邏輯層供其轉(zhuǎn)化為客戶端可識別的信息傳遞給用戶。

        2 三層架構的.NET數(shù)據(jù)庫應用系統(tǒng)數(shù)據(jù)邏輯訪問與表示

        在.NET環(huán)境下的數(shù)據(jù)庫應用系統(tǒng)可以分為表示層、業(yè)務邏輯層以及數(shù)據(jù)層三層。其中在數(shù)據(jù)層中又存在邏輯與數(shù)據(jù)兩種屬性,為提升系統(tǒng)的區(qū)分度可以將數(shù)據(jù)層中的數(shù)據(jù)分為數(shù)據(jù)訪問邏輯組件和業(yè)務實體組件兩類。前者是指針對數(shù)據(jù)庫的,可執(zhí)行檢索與保存等操作的業(yè)務邏輯;后者是指具體的可實現(xiàn)具體應用效果的實體數(shù)據(jù)。

        2.1 數(shù)據(jù)訪問邏輯組件

        該組件是調(diào)用程序?qū)?shù)據(jù)庫具體操作的具體方法描述,包括數(shù)據(jù)記錄創(chuàng)建、數(shù)據(jù)記錄讀取和調(diào)用、數(shù)據(jù)記錄更改與修訂、實體業(yè)務數(shù)據(jù)的錄入與更新、數(shù)據(jù)記錄的刪除等。此外,該組件還應該提供業(yè)務實體數(shù)據(jù)庫的篩選與查找邏輯方法等功能。

        實際應用本邏輯組件對某一數(shù)據(jù)庫數(shù)據(jù)進行訪問時需要標明訪問的對象、訪問對象中的具體目標以及需要執(zhí)行的具體操作。為便捷高效的完成數(shù)據(jù)庫組表數(shù)據(jù)操作可以在本組件的基礎上結(jié)合業(yè)務實體組件共同完成。

        2.2 業(yè)務實體組件

        該組件使用多個相互獨立的數(shù)據(jù)表來存放某些具體業(yè)務的相關數(shù)據(jù),同時為這些數(shù)據(jù)表之間建立關聯(lián),使用主鍵和外鍵來進行相互間的調(diào)用。在.NET應用程序中,該組件屬于自定義類,需要用戶根據(jù)使用需求將所建立的數(shù)據(jù)表與實體功能和業(yè)務建立關聯(lián)。其中,自定義參數(shù)中需要包含數(shù)據(jù)存儲字段、屬性、業(yè)務邏輯特性等內(nèi)容,以便于根據(jù)上述參數(shù)確定應用程序與數(shù)據(jù)之間的調(diào)用關系。

        實際應用中,本組件包含以下幾部分操作:用戶信息的更新與錄入;用戶訂單列表;訂單創(chuàng)建、變更以及刪除;新的產(chǎn)品或功能信息等。

        3 C#語言的三層數(shù)據(jù)庫應用系統(tǒng)建立

        以ADO.NET為例,其提供了兩種基于數(shù)據(jù)庫的應用系統(tǒng)建立方法,一種方法只提供數(shù)據(jù)讀取操作,另一種方法除了數(shù)據(jù)讀取操作外還允許用戶對數(shù)據(jù)庫相關內(nèi)容執(zhí)行修改、刪除等操作。顯然,第二種方法靈活性更高,應用更為廣泛。三層數(shù)據(jù)庫應用系統(tǒng)分為數(shù)據(jù)訪問層、業(yè)務邏輯層以及表現(xiàn)層三部分,每部分的具體建立方式如下所述。

        3.1 數(shù)據(jù)訪問層的建立與參數(shù)設置。

        該層建立時首先需要根據(jù)系統(tǒng)要求添加新的項目,同時對所涉及的數(shù)據(jù)集進行篩選;篩選完畢后可以將所選擇的數(shù)據(jù)集與數(shù)據(jù)庫系統(tǒng)建立連接;之后可以將數(shù)據(jù)集中拖入數(shù)據(jù)表,對該步驟操作過程中生成的信息指令等內(nèi)容執(zhí)行復制操作,以便于后續(xù)的數(shù)據(jù)庫代碼修改;最后對代碼中的GetData()函數(shù)配置進行修改,以便于允許用戶通過數(shù)據(jù)鏈表查找與對比外鍵關鍵字段,這樣可以提高系統(tǒng)的易用性。

        具體來說,針對select * from bisdevice語句可以執(zhí)行如下修改:SELECT a.用戶ID,a.用戶名,b.所在部門,c.職位屬性 FROM bisxingming a left join bisgongzuobumen b on b.用戶ID=a.所在部門 ID left join biszhiyeshuxing c on c.職位屬性ID=a.職位屬性ID。

        3.2 業(yè)務邏輯層的建立與參數(shù)設置

        該層是整個中間層的承接層,根據(jù)實際的系統(tǒng)應用需求不同可以進行靈活設定。該層的引入大大提升了整個數(shù)據(jù)庫應用系統(tǒng)的靈活性。

        以添加新項并向該項目中添加新的類別的實現(xiàn)為例,可以編寫如下代碼來實現(xiàn)。

        Public dsyonghu.yonghuDataTable

        GetxingmingBybumenIDshenfenID(int 用戶部門標識, int 用戶身份標識)

        {if (用戶部門標識<0用戶身份標識<0) return Adapter.Getxingming();

        else if (用戶部門標識>0用戶身份標識<0) return Adapter.GetxingmingBybumenID(用戶部門標識);

        else if (用戶部門標識<0用戶身份標識>0) return Adapter.GetxingmingByshenfenD(用戶部門標識);}

        通過上述內(nèi)容即可完成新項目、新數(shù)據(jù)表的添加與分配操作,對用戶身份完成讀取相關操作。

        3.3 表現(xiàn)層的建立與參數(shù)設置

        該層中不同的參數(shù)與相應的數(shù)據(jù)表可以建立對應的映射,通過調(diào)用參數(shù)來查看數(shù)據(jù)庫中相關內(nèi)容。實際設計中可以在編程軟件中對相關字段進行修改實現(xiàn)關聯(lián)的建立。

        3.4 數(shù)據(jù)的操作與執(zhí)行

        上述步驟基本實現(xiàn)了數(shù)據(jù)庫相關內(nèi)容的查詢操作,但是實際應用中還需要對某些特定的參數(shù)或表格信息進行添加、修改或刪除等,此時需要執(zhí)行的操作為:通過DetailView空間對需要修改的字段進行編輯,將其屬性變?yōu)槟0?,然后對該模板信息進行設置與修改即可完成相應的操作添加。

        但是需要說明的是,對于某些需要選取的項目,其建立過程中需要將文本輸入控件TextBox刪除,替換為可選取的列表控件ListBox,為列表添加相關信息后將每一選項與具體的數(shù)據(jù)庫表建立連接。

        4 總結(jié)

        三層系統(tǒng)架構體系安全性更高,系統(tǒng)設計實現(xiàn)更為靈活,可擴展性更強,是一種主流的系統(tǒng)設計方式。在.NET平臺中應用C#設計開發(fā)數(shù)據(jù)庫應用系統(tǒng)可以根據(jù)實際使用需求將相關功能劃分到表示層、業(yè)務邏輯層以及數(shù)據(jù)層中。這種方式下的數(shù)據(jù)庫應用系統(tǒng)具有良好的可用性和可維護性。

        參考文獻:

        [1]王海燕.C#.NET下三層架構數(shù)據(jù)庫應用系統(tǒng)開發(fā)[J].計算機技術與發(fā)展,2012(6).

        [2]李紅芹.基于三層架構的.NET數(shù)據(jù)庫業(yè)務系統(tǒng)開發(fā)[J].計算機與現(xiàn)代化,2009(10).

        [3]韓美芳.淺談.NET三層架構的構建方法[J].科技創(chuàng)新導報,2009(25).

        丰满女人猛烈进入视频免费网站| 国产日韩成人内射视频| 青草网在线观看| 国产精品污一区二区三区在线观看 | 国产亚洲精品成人aa片新蒲金| 丁香五香天堂网| 永久免费看免费无码视频 | 久久久国产乱子伦精品作者 | 在教室伦流澡到高潮hgl视频| 国产AV国片精品有毛| 久久久国产视频久久久| 中文字字幕在线中文乱码解| 夜夜躁狠狠躁日日躁2022| 国产亚洲精品aaaaaaa片| 国产成人啪精品午夜网站| 国产精品久久久久久久久久影院| 免费人妖一区二区三区| 国产无套乱子伦精彩是白视频| 久久久久亚洲av片无码v| 国产精品 视频一区 二区三区| 久久精品美女久久| 91精品国产高清久久福利| 欧美噜噜久久久xxx| 日韩乱码人妻无码中文字幕视频| 成人午夜视频一区二区无码| 日韩人妻大奶子生活片| 精品一区三区视频在线观看| 国产av丝袜旗袍无码网站| 免费av在线国模| 白丝美女扒开内露出内裤视频| 国产亚洲成性色av人片在线观| 在线人成免费视频69国产| 无码精品一区二区免费AV| 亚洲国内精品一区二区在线| 大香焦av一区二区三区| 国精产品一区一区三区有限公司杨| 天天做天天爱天天综合网| 杨幂国产精品一区二区| 色播视频在线观看麻豆| 四虎影视成人永久免费观看视频| 中文字幕av日韩精品一区二区 |