999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ASP.NET三層架構的概念及關系分析

2013-03-27 21:16:50哈爾濱鐵道職業技術學院
電子世界 2013年2期
關鍵詞:數據庫結構功能

哈爾濱鐵道職業技術學院 喬 冰

選擇合適的系統體系架構是一項影響整個應用系統設計的關鍵工作。使用三層架構可以使得系統的結構更加清楚,分工更加明確,有利于系統的分工合作和后期維護。B/S模式的三層結構是一種簡單、成熟,并得到普遍應用的應用程序架構,它將應用程序結構劃為分三個相對獨立層,包括用戶表示層、業務邏輯層和數據訪問層。每一層只實現該層內相對獨立的功能,而當任何一層發生變化時,只要保持層間接口關系不變,則其他各層都不會受到影響。三層結構是一種嚴格的分層協作,即數據訪問層只能被業務邏輯層訪問,業務邏輯層只能被表示層訪問。用戶通過表示層將請求傳送給業務邏輯層,業務邏輯層完成相關業務規則和邏輯,并通過數據訪問層訪問數據庫獲得數據,然后按照相反的順序依次返回,將數據顯示在用戶界面層。

在軟件體系架構設計中,分層式結構是最常見,也是最重要的一種結構,微軟推薦的分層式結構一般分為三層,從下至上分別為:數據訪問層、業務邏輯層(又或成為領域層)、表示層。

所謂三層體系結構,是在客戶端與數據庫之間加入了一個“中間層”,也叫組件層。這里所說的三層體系,不是指物理上的三層,不是簡單地放置三臺機器就是三層體系結構,也不僅僅有B/S應用才是三層體系結構,三層是指邏輯上的三層,即使這三個層放置到一臺機器上。三層體系的應用程序將業務規則、數據訪問、合法性校驗等工作放到了中間層進行處理。通常情況下,客戶端不直接與數據庫進行交互,而是通過COM/DCOM通訊與中間層建立連接,再經由中間層與數據庫進行交互。

一、系統各層次原理

三個層次中,系統主要功能和業務邏輯都在業務邏輯層進行處理。

1.用戶表示層(USL)

用戶表示層也叫用戶界面層,封裝人機界面的所有表單和組件,是應用系統與系統用戶之間的直接接口。主要用于顯示由業務邏輯層動態傳送過來的數據信息,結合使用相應的HTML標記和樣式表定義來實現;用戶錄入數據信息并通過簡單的校驗后,經由數據接口傳送給業務邏輯層下載論文。

2.業務邏輯層(BLL)

業務邏輯層主要完成對應用系統相關業務規則和邏輯的封裝,在為用戶表示層訪問提供功能調用的同時,它又通過調用數據訪問層所提供的功能來訪問數據庫。業務邏輯層主要根據系統設計的需要,通過構建系統的關鍵對象類,實現系統的大部分邏輯控制功能。

3.數據訪問層(DAL)

數據訪問層只能被業務邏輯層訪問,并且系統只通過它訪問數據庫來獲取數據。當數據訪問層根據業務邏輯層的要求與數據庫進行交互時,主要完成從數據庫中提取數據庫記錄的查詢和插入、修改與刪除數據庫記錄的更新數據功能。眾所周知,數據庫訪問是動態信息管理應用系統中最頻繁、最消耗資源的操作,所以必須優化對數據庫的訪問策略,以提高系統的性能和可靠性。B/S模式的三層結構是一種嚴格的分層定義,它首先將應用系統復雜的開發工作劃分為相對簡單的小分塊,然后在每一層中只實現系統相應層的功能設計,層間的交互由相鄰層對應的功能模塊進行調用,信息傳遞只由接口進行傳送。業務實體組件體現的是現實生活中的業務數據,而數據訪問邏輯組件則是在數據庫中檢索數據或把業務實體數據保存到數據庫。

二、系統各層次職責

1.用戶表示層(USL)

UI(User Interface)層的職責是數據的展現和采集,數據采集的結果通常以Entity object提交給BL層處理;

Service Interface側層用于將業務或數據資源發布為服務(如WebServices)。

2.業務邏輯層(BLL)

BL(Business Logic)層的職責是按預定的業務邏輯處理UI層提交的請求。

(1)Business Function子層負責基本業務功能的實現;

(2)Business Flow子層負責將Business Functio子層提供的多個基本業務功能組織成一個完整的業務流。(Transaction只能在Business Flow子層開啟)。

3.數據訪問層(DAL)

ResourceAccess層的職責是提供全面的資源訪問功能支持,并向上層屏蔽資源的來源。

(1)BEM(Business Entity Manager)子層采用DataAccess子層和ServiceAccess子層來提供業務需要的基礎數據/資源訪問能力。

(2)DataAccess子層負責從數據庫中存取資源,并向BEM子層屏蔽所有的SQL語句以及數據庫類型差異;DB Adaptor子層負責屏蔽數據庫類型的差異;ORM子層負責提供對象-關系映射的功能;Relation子層提供ORM無法完成的基于關系(Relation)的數據訪問功能。

(3)ServiceAccess子層用于以SOA的方式從外部系統獲取資源。Service Entrance用于簡化對Service的訪問,它相當于Service的代理,客戶直接使用Service Entrance就可以訪問系統發布的服務。Service Entrance為特定的平臺(如Java、.Net)提供強類型的接口,內部可能隱藏了復雜的參數類型轉換。

(4)ConfigAccess子層用于從配置文件中獲取配置object或將配置object保存倒配置文件。

三、系統各層次規則

1.系統各層次及層內部子層次之間都不得跨層調用;

2.Entity object在各個層之間傳遞數據;

3.需要在UI層綁定到列表的數據采用基于關系的DataSet傳遞,除此之外,應該使用Entity object傳遞數據;

4.對于每一個數據庫表(Table)都有一個DB Entity class與之對應,針對每一個Entity class都會有一個BEM Class與之對應;

5.有些跨數據庫或跨表的操作(如復雜的聯合查詢)也需要由相應的BEM Class來提供支持;

6.對于相對簡單的系統,可以考慮將Business Function子層和Business Flow子層合并為一個;

7.UI層和BL層禁止出現任何SQL語句。

四、系統各層次優缺點

1.三層結構的優點

(1)提高程序的可維護性:三層架構層次分明,開發人員可以只關注整個結構中的其中某一層;

(2)可以并行開發,提高了開發的速度;

(3)提高系統的安全性:可以降低層與層之間的依賴;

(4)提高系統的擴展性:三層結構最大的好處是在擴展應用系統時,改動的部分不會影響到大局,比如要給這個系統增加Oracle數據庫的功能,只需要改動數據層就可以了,其他層保持不變。

2.三層結構的缺點

(1)降低了系統的性能。如果不采用分層式結構,很多業務可以直接造訪數據庫,以此獲取相應的數據,如今卻必須通過中間層來完成。

(2)有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加一個功能,為保證其設計符合分層式結構,可能需要在相應的業務邏輯層和數據訪問層中都增加相應的代碼。

(3)增加了開發成本。“三層結構”開發模式,不適用于對執行速度要求過于苛刻的系統,如在線訂票、在線炒股等。它比較適用于商業規則容易變化的系統。

五、ASP.NET三層架構的實現

1.數據訪問層

當開始著手實現程序時,首先要做的便是設計數據庫。而表示層要做的便是應用面向對象中類對象相應知識,設計相應的類和方法來實現對數據庫的操作。ASP.NET數據訪問層的代碼都放到特定文件夾App_Code中,這樣在網站初始化時,此特定文件夾中的代碼會自動進行編譯,便于檢查出錯誤和提高程序應用時的效率。一般對應數據庫中的表都要建立實體類,封裝其變量及屬性,其中變量對應數據庫中字段。數據訪問層建立于系統中模塊相關的類,然后將系統中對應的功能在類中以方法的方式完成。用這些方法為業務邏輯層提供服務。為了更好完成對數據庫的操作,可以將一些對數據庫通用的操作封裝成類,然后在數據訪問層中進行調用,其中最有代表的是微軟提供的SQLHelper類。

2.業務邏輯層

業務邏輯層為介于表示層和數據訪問層之間處理邏輯關系的一層。在業務邏輯層里建立相應的數據訪問層相應類實例,然后調用數據訪問層的方法。由于在數據訪問層類方法中已經近似完成了對應的業務邏輯層所要完成的功能,但業務邏輯層仍是不可缺少的。所有的業務上的控制,如判斷數據的有效性,都邏輯層完成。有時候邏輯層只是簡單的傳遞調用的數據訪問層的方法的返回值。但是保留此層對以后進行維護有很大的幫助。如:public static int majorNameToID(string name){return M_MajorDAL.majorNameToID(name);}以上代碼便是僅僅返回了數據訪問層類的靜態方法的返回值,返回了專業名對應的專業ID。

3.表示層

表示層只處理接收數據、顯示數據和判斷輸入數據的有效性等問題。ASP.NET中表示層由數量不等的網頁文件組成,這些網頁各自獨立,相互之間存在不同程度的關聯。表示層為面向用戶的部分,其好壞直接影響到用戶的評價。表示層整體框架做出來后,其頁面修飾便由網站美工來完成。

以上介紹了ASP.NET技術的三層結構模式。通過介紹分層規劃,體現了利用ASP.NET技術編寫三層結構的清晰邏輯,并有效地實現了系統中各功能層的相對獨立,使系統具有更強大的靈活性、可擴展性和可維護性;而且系統分層管理使分級分布部署成為現實,可極大地提高系統的性能和安全性。

[1]譚政,邢劍寬,鄭翔.軟件體系結構[M].清華大學出版社.

[2]Paul Sarknas.ASP.NET電子商務高級編程[M].清華大學出版社.

[3]孫琳俊,陳松.新手學ASP.NET3.5網絡開發[M].電子工業出版社.

猜你喜歡
數據庫結構功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
關于非首都功能疏解的幾點思考
數據庫
財經(2017年2期)2017-03-10 14:35:35
論《日出》的結構
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
創新治理結構促進中小企業持續成長
現代企業(2015年9期)2015-02-28 18:56:50
主站蜘蛛池模板: 国产香蕉在线视频| 国产在线精品美女观看| 国产成人在线无码免费视频| 无码AV日韩一二三区| 九九视频免费在线观看| 亚洲男人的天堂在线观看| 久久这里只有精品国产99| 国产精品第一区在线观看| 四虎永久免费地址| 亚洲福利一区二区三区| 亚洲色图另类| 欧美性爱精品一区二区三区| 亚洲天堂日韩av电影| 国产第一页第二页| 波多野结衣在线se| 国产99视频精品免费视频7 | 亚洲人成电影在线播放| 97人妻精品专区久久久久| 国产精品自在线拍国产电影| 亚洲人成人无码www| 亚洲综合久久成人AV| 内射人妻无码色AV天堂| 极品尤物av美乳在线观看| 欧美激情,国产精品| 亚洲一区无码在线| 亚洲天堂免费在线视频| 国产情精品嫩草影院88av| 操国产美女| 日韩欧美亚洲国产成人综合| 亚洲一区毛片| a天堂视频在线| 国产SUV精品一区二区6| 日韩黄色大片免费看| 四虎影视永久在线精品| AV色爱天堂网| 91免费国产在线观看尤物| 亚洲精品另类| 日韩不卡高清视频| 久久青青草原亚洲av无码| 免费激情网站| 国产尤物jk自慰制服喷水| 国产十八禁在线观看免费| 久久婷婷国产综合尤物精品| 国产99免费视频| 国产成本人片免费a∨短片| 综合人妻久久一区二区精品| a欧美在线| 国产精品欧美激情| 国产毛片基地| 欧美精品影院| 欧美日韩在线成人| 国产丰满大乳无码免费播放| 国产正在播放| 激情無極限的亚洲一区免费| 国产成人亚洲精品色欲AV| 欧美成人精品在线| 很黄的网站在线观看| 亚洲伊人电影| 午夜激情福利视频| 国产精品夜夜嗨视频免费视频| 2021国产乱人伦在线播放| 色亚洲成人| 青青操视频在线| 亚洲AV无码乱码在线观看代蜜桃 | 97se亚洲综合在线韩国专区福利| 青青热久麻豆精品视频在线观看| 又黄又湿又爽的视频| 国产精品美女自慰喷水| 欧美啪啪精品| 欧美97欧美综合色伦图| 久久国产精品无码hdav| 亚洲综合精品第一页| 午夜限制老子影院888| 青草娱乐极品免费视频| 国产成人精品第一区二区| 香蕉国产精品视频| 人妻精品久久久无码区色视| 久久99蜜桃精品久久久久小说| 毛片免费视频| 国产在线日本| 2024av在线无码中文最新| 免费观看亚洲人成网站|