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

大型應用軟件的多層體系框架的設計與實現*

2013-07-31 08:27:08丁純立
湖北科技學院學報 2013年2期
關鍵詞:頁面數據庫設計

丁純立

(福建信息職業技術學院,福建 福州 350003)

一、引 言

隨著企業對信息化產品的依賴越來越強,相關的軟件產品的功能也越來越強大,軟件結構越來越復雜,對于大型復雜的軟件系統來說,開發、維護成本高、重復開發率高、開發效率低越來越困擾著軟件開發者,尤其在進行團隊開發時情況更是嚴重。在此背景下,人們認識到對總體的系統結構設計比起對計算的算法和數據結構的選擇已經變得更加重要。

為了克服上述問題,人們總結程序開發的經驗,提出采用分層的方式進行處理,在分層軟件框架設計中最成熟的就是三層架構的分層方案,即把系統從應用邏輯上對其進行抽象細分用戶界面層(UI),業務邏輯層(BLL),數據訪問層(DAL)三個層次,同時再加上共用實體類和一些通用輔助類,如數據庫訪問類、事務處理類等。以上的設計提高了軟件代碼的復用質量,但還存在許多問題,如缺乏安全管理,缺乏用戶登錄日志管理,各層之間的耦合度不能讓人滿意;在數據訪問層還是存在冗余代碼,工作重復現象,因此必須對三層架構進行有效擴充才能滿足用戶需求。

文中將結合.NET平臺所提供的相關技術,構建出一個基于三層架構設計思想、面向對象、可復用的信息系統軟件開發框架,下面進行具體分析。

二、設計與實現

1.用戶界面層:直接和用戶進行交互,把數據內容呈現給用戶或接收用戶輸入的數據的部分。在一般的分層架構解決方案中,表示層的設計是根據用戶所選的不同控件,將實體類的值綁定到對應控件的屬性上,以完成數據的自動獲得與顯示。這種方法的缺點是,大型應用程序都有非常多的頁面,對每個頁面進行控件與實體類屬性的對應,代碼量大且重復率高,隨著需求的變化,調整就更加繁瑣,為了解決上述問題,框架將用戶界面層分成了UI和UI控制邏輯層,在UI層設計了界面頁面的基類PageBase.cs,系統中的每個UI界面類都從PageBase.cs繼承,在 PageBase.cs中,定義了 ErrorMsg出錯提示,ErrorState出錯狀態,ActionPage動作頁面,Action執行動作等公共變量,讓每一個表示層頁面的操作與邏輯層的操作都有返回信息與狀態,這樣不僅可以更好的控制和判斷程序,同時通過記錄每個頁面的公共變量值還可以實現應用程序的異常管理,用戶登錄日志管理等功能,這些功能也是一個成功的框架中必不可少的重要組成部分。在UI控制邏輯層設計了一個公共類DORM.CS,用以將web頁面控件的值自動賦值到哈希表中,主要的設計思路是,通過獲取頁面上以“UI_”這個命名的控件,取相應的控件名和值,分別保存在哈希表里面對應的KEY、values里面,然后返回哈希表,以此來解決繁瑣的頁面控件與實體類屬性對應操作的問題。

2.業務邏輯層:主要是處理業務方面的邏輯。在這一層中,框架將BLL層細分為業務邏輯接口層和業務邏輯實現層,在業務邏輯接口層抽象出了用戶界面層所需要用到的功能,并將這些接口統一放在DAO_Interface接口文件中,主要接口如圖1所示

圖1 業務邏輯接口

這一層可以讓團隊成員獨立開發而減少相互間的依賴性。就是說業務邏輯實現層里還沒寫實現過程的時候,項目組的其它成員,可以先調用而不用管它是怎么實現的,從而提高協同效率。業務邏輯實現層繼承業務邏輯接口層,然后根據具體不同的要求來實現。

3.數據訪問層:

這一層用于實現信息系統對數據庫的操作,完成業務流程對數據庫中數據的插入、更新等操作。在這一層中,框架封裝了所有BLL層需要用到的數據庫操作,并將其放入DALCommon類文件,以保證數據訪問層只有單一訪問接口,減少各層之間的耦合性。

在傳統的數據訪問層中,一般采用輔助類,如SqlHelper通過一組靜態的重載方法來封裝數據訪問功能,開發時可以通過調用輔助類的靜態方法來對數據庫進行操作,這種方法雖然解決了部分代碼復用問題,但還是存在當需求變化時,需對一系列相關模塊進行修改的問題,而且在團隊開發中極易出現開發代碼重復現象,為了解決上述問題,在本框架的數據訪問層引入Ibatis開源框架。IBatis.net具有完全由開發者掌控Mapping規則。基于XML配置,開發者可掌控底層,傳入參數支持 Hashtable、EntityObje,Dictionary等.可將離散參數封裝為單一參數傳入等優點;這樣當需求變化時,只需修改相應Xml文件中的SQl語句即可,其它部分都可以不用改動,以保證接口穩定度。

IBatis DataMapper的工作原理如圖2所述。

圖2 Ibatis實現原理

properties.config:數據庫配置信息(包含數據名、用戶名、密碼、地址)

proivders.config數據庫驅動(包含.Net所有的數據庫驅動)

Maps文件夾:包含整個數據庫各表和各模型的關系.(主要是包含SQL語句)

Model文件夾:包含各個表的模型

在DALCommon類文件中數據訪問層通過Map ID和Hashtable對進行執行操作,在本層中,日志記錄采用Log4net技術,下面通過查詢操作來展示軟件框架代碼的具體實現。

public DataSet Select(Hashtable hTable,ref string errMsg,ref bool errState,ref string ActionPage,string MapID)//帶參數的查詢

最后形成的框架如圖3所示:

圖3 軟件框架結構圖

三、應用和總結

在大型應用軟件中一個面向對象的、可復用的信息系統軟件框架已經成為一個軟件開發團隊的核心物質資本,而且更重要的是軟件框架將是一個系統的開發周期、開發成本及軟件維護的核心影響因子。本文所設計的框架具有以下特點:(1)在用戶界面層使用UI控制邏輯層,解決對頁面控件的煩瑣的操作,并且配合業務邏輯層和數據訪問層的操作;(2)使用業務邏輯接口層和業務邏輯實現層,來實現項目各模塊的獨立開發和共享功能;(3)使用IBatis技術作為數據訪問層解決了項目各模塊對數據頻繁操作及維護困難的問題;(4)通過記錄每個頁面的公共變量值以實現應用程序的異常管理,用戶登錄日志管理等功能。在有關學校的信息管理系統中得到成功應用,實踐證明,應用本框架省略了很多基礎性的工作,開發周期大大縮短,同時大大降低了各層之間耦合度和減少了軟件的冗余代碼,極大的提高了軟件生產率。

猜你喜歡
頁面數據庫設計
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
數據庫
財經(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
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 永久在线播放| 亚洲一区二区约美女探花| 欧美α片免费观看| 影音先锋丝袜制服| 国产新AV天堂| 久久久精品国产亚洲AV日韩| 在线观看热码亚洲av每日更新| 91亚洲精选| 伊人久综合| 天天综合天天综合| 国产精品久久久久鬼色| 国产网站在线看| 久久这里只有精品免费| 亚洲美女高潮久久久久久久| 免费无码AV片在线观看国产| 久久免费视频6| 日本精品一在线观看视频| 国产91高跟丝袜| 一级一级一片免费| 久久久久国色AV免费观看性色| 日韩大片免费观看视频播放| 日韩中文欧美| 国产JIZzJIzz视频全部免费| 四虎影视无码永久免费观看| 国产视频你懂得| 欧美中文字幕在线视频| 亚洲中文字幕手机在线第一页| 亚洲人免费视频| 沈阳少妇高潮在线| 亚洲成人免费看| 久久夜色精品| 九九九九热精品视频| 欧美综合中文字幕久久| 欧美中日韩在线| 久久精品这里只有精99品| 亚洲日韩高清在线亚洲专区| 在线毛片网站| 国产精品香蕉在线观看不卡| 色婷婷狠狠干| 免费又黄又爽又猛大片午夜| 伊人久久久久久久久久| 亚洲av无码人妻| 亚洲欧美精品在线| 国产精品露脸视频| 国产成人综合网| 最新国产午夜精品视频成人| 亚洲人妖在线| 国产91精选在线观看| 黄色网页在线播放| 99re在线视频观看| 国产精品福利社| 婷婷色中文| 欧美激情成人网| 中美日韩在线网免费毛片视频| 国产91高清视频| 久久精品亚洲中文字幕乱码| 日本手机在线视频| 99在线视频免费观看| 久久亚洲高清国产| 超碰免费91| 国产女人18水真多毛片18精品| 久久成人国产精品免费软件| 福利视频一区| 中文字幕av无码不卡免费| 午夜视频免费试看| 亚洲综合色婷婷中文字幕| 国产微拍精品| 国产欧美精品一区二区| 国产正在播放| 91色国产在线| 亚洲视频四区| 国产成人精品一区二区秒拍1o| 在线观看网站国产| 国产不卡国语在线| 亚洲精品色AV无码看| 国产无码性爱一区二区三区| 欧美日韩亚洲综合在线观看| 无码 在线 在线| 亚洲中文字幕97久久精品少妇| 久久久噜噜噜| Jizz国产色系免费| 国产在线观看第二页|