摘 要:本文介紹了基于.NET Catharsis框架(Easyui+EF+MVC)的配置應(yīng)用方法,通過本框架開發(fā)了一個(gè)較簡單的生肖管理系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)。該系統(tǒng)遵循MVC設(shè)計(jì)思想,并使用ASP.NET、Catharsis框架及SQL Server 2008數(shù)據(jù)庫等技術(shù)進(jìn)行開發(fā)。在系統(tǒng)開發(fā)過程還使用了異步數(shù)據(jù)加載、JSON數(shù)據(jù)傳遞等技術(shù)。
關(guān)鍵詞:生肖管理系統(tǒng);EF;MVC;EasyUI
中圖分類號:TP311.52
微軟公司NET Framework平臺的更新速度很快,從1.0版本發(fā)展到現(xiàn)在的4.5版本,隨著ASP.NET版本的升級,其功能也有全新的提高,特別是MVC框架的功能的提升,為快速敏捷開發(fā)提供良好的機(jī)會,隨著越來越多的框架支持NET平臺,使開發(fā)的選擇更加多樣便利。本文中以生肖管理系統(tǒng)為例,利用基于.NET Catharsis開發(fā)框架和SQL Server 2008數(shù)據(jù)庫系統(tǒng),介紹了Catharsis框架配置及應(yīng)用。
1 相關(guān)技術(shù)介紹
1.1 ASP.NET MVC開發(fā)技術(shù)
MVC(Model-View-Controller,模型—視圖—控制器模式)用于表示一種軟件架構(gòu)模式。它把軟件系統(tǒng)分為三個(gè)基本部分:模型(Model),視圖(View)和控制器(Controller)。
MVC模式可以幫助您創(chuàng)建使應(yīng)用程序的不同方面(輸入邏輯、業(yè)務(wù)邏輯和UI邏輯)分離的應(yīng)用程序,同時(shí)可在這些元素之間提供松散耦合。該模式指定每種邏輯在應(yīng)用程序中應(yīng)處的位置。UI邏輯位于視圖中。輸入邏輯位于控制器中。業(yè)務(wù)邏輯位于模型中。在您生成應(yīng)用程序時(shí),通過使用這種分離方式,可以幫助您化繁為簡,因?yàn)樗梢允鼓鷤?cè)重于一次實(shí)現(xiàn)應(yīng)用程序的一個(gè)方面。例如,您可以側(cè)重于獨(dú)立于業(yè)務(wù)邏輯的視圖。
模型。模型對象是實(shí)現(xiàn)應(yīng)用程序數(shù)據(jù)域邏輯的應(yīng)用程序部件。通常,模型對象會檢索模型狀態(tài)并將其存儲在數(shù)據(jù)庫中。例如,Product對象可能會從數(shù)據(jù)庫中檢索信息,操作該信息,然后將更新的信息寫回到SQL Server數(shù)據(jù)庫內(nèi)的Products表中。在小型應(yīng)用程序中,模型通常是概念上的分離,而不是實(shí)際分離。例如,如果應(yīng)用程序僅讀取數(shù)據(jù)集并將其發(fā)送到視圖,則該應(yīng)用程序沒有物理模型層和關(guān)聯(lián)的類。在這種情況下,數(shù)據(jù)集擔(dān)當(dāng)模型對象的作用。
視圖。視圖是顯示應(yīng)用程序用戶界面(UI)的組件。通常,此UI是用模型數(shù)據(jù)創(chuàng)建的。Products表的編輯視圖便是一個(gè)視圖示例,該視圖基于Product對象的當(dāng)前狀態(tài)顯示文本框、下拉列表和復(fù)選框。
控制器。控制器是處理用戶交互、使用模型并最終選擇要呈現(xiàn)的視圖來顯示UI的組件。在MVC應(yīng)用程序中,視圖僅顯示信息;控制器則用于處理和響應(yīng)用戶輸入和交互。例如,控制器處理查詢字符串值,并將這些值傳遞給模型,而模型可能會使用這些值來查詢數(shù)據(jù)庫。
MVC應(yīng)用程序的這三個(gè)主要組件之間的松散耦合也可促進(jìn)并行開發(fā)。例如,一個(gè)開發(fā)人員可以從事視圖方面的工作,第二個(gè)開發(fā)人員可以從事控制器邏輯方面的工作,第三個(gè)開發(fā)人員可以側(cè)重于模型中的業(yè)務(wù)邏輯。MVC架構(gòu)如下圖1所示。
圖1 MVC架構(gòu)示意圖
1.2 Entity Framework和LINQ
Entity Framework的全稱是ADO.NET Entity Framework,是微軟開發(fā)的基于ADO.NET的ORM(Object/Relational Mapping)框架。
Entity Framework的主要特點(diǎn):
(1)支持多種數(shù)據(jù)庫(Microsoft SQL Server,Oracle,and DB2);
(2)強(qiáng)勁的映射引擎,能很好地支持存儲過程;
(3)提供Visual Studio集成工具,進(jìn)行可視化操作;
(4)能夠與ASP.NET,WPF,WCF,WCF Data Services進(jìn)行很好的集成。
圖2
LINQ是Language Integrated Query的簡稱,它是集成在.NET編程語言中的一種特性。已成為編程語言的一個(gè)組成部分,在編寫程序時(shí)可以得到很好的編譯時(shí)語法檢查,豐富的元數(shù)據(jù),智能感知、靜態(tài)類型等強(qiáng)類型語言的好處。并且它同時(shí)還使得查詢可以方便地對內(nèi)存中的信息進(jìn)行查詢而不僅僅只是外部數(shù)據(jù)源。
LINQ定義了一組標(biāo)準(zhǔn)查詢操作符用于在所有基于.NET平臺的編程語言中更加直接地聲明跨越、過濾和投射操作的統(tǒng)一方式,標(biāo)準(zhǔn)查詢操作符允許查詢作用于所有基于IEnumerable
圖3
1.3 EasyUI
easyui是一個(gè)基于jquery的集成了各種用戶界面的插件。使用easyui你不需要寫太多javascript代碼,一般情況下你只需要使用一些html標(biāo)記來定義用戶接口。easyui非常簡單,但是功能非常強(qiáng)大。
1.4 系統(tǒng)的配置
在創(chuàng)建的解決方案中分別建立相應(yīng)的層,其中包括類、數(shù)據(jù)訪問層及EF模型等。在界面層UI中創(chuàng)建一個(gè)MVC項(xiàng)目,并在其中復(fù)制需要的EasyUI框架所需的文件等,解決方案結(jié)構(gòu)如下圖表示。
圖4
2 需求分析與數(shù)據(jù)庫設(shè)計(jì)
2.1 需求分析
生肖管理系統(tǒng)采用基于ASP.NET技術(shù)、Catharsis框架及SQL Server 2008的B/S架構(gòu)模式的系統(tǒng),實(shí)現(xiàn)了登錄、權(quán)限管理、生肖管理等功能模塊。界面簡潔效果好,易于擴(kuò)充維護(hù),簡化了系統(tǒng)的開發(fā)、維護(hù)和使用。
2.2 數(shù)據(jù)庫設(shè)計(jì)
系統(tǒng)選用SQL Server2008數(shù)據(jù)庫,其中根據(jù)業(yè)務(wù)需要分別提供權(quán)限管理表Sys_Permission、生肖管理表Bn_Zodiac、角色管理表Sys_Role、用戶管理表Sys_UserInfo等,各數(shù)據(jù)表的關(guān)系如圖5所示。
圖5 數(shù)據(jù)庫關(guān)系圖
3 系統(tǒng)實(shí)現(xiàn)
3.1 登錄功能
基于Easy完界面設(shè)計(jì),完成生肖管理系統(tǒng)的登錄功能的實(shí)現(xiàn)。
圖6
3.2 生肖管理系統(tǒng)首頁
設(shè)計(jì)實(shí)現(xiàn)生肖管理系統(tǒng)的首頁功能,展示十二生肖列表頁。
圖7
3.3 生肖管理系統(tǒng)管理頁面
實(shí)現(xiàn)生肖管理系統(tǒng)管理功能,完成生肖的修改、添加及刪除等管理功能。
圖8
4 結(jié)束語
本文基于NET平臺,應(yīng)用ASP.NET技術(shù)、Catharsis框架、SQL Server 2008等設(shè)計(jì)實(shí)現(xiàn)了生肖管理系統(tǒng),主要目的是學(xué)習(xí)Catharsis框架配置及應(yīng)用開發(fā)技巧。
參考文獻(xiàn):
[1]HZizhujieH.B/S結(jié)構(gòu)[EB/OL].http://baike.baidu.com/view/268862.htm?fromId=8039.2013-3-20.
[2]HChinahsjpyH.MVC框架[EB/OL].http://baike.baidu.com/view/5432454.htm?fromId=31redirected=seachword,2013.4.30.
[3]唐燦.下一代Web界面前端技術(shù)綜述[J].重慶工商大學(xué)學(xué)報(bào)(自然科學(xué)版),2009(04):350-355.
[4]方柯.基于ASP.NET MVC框架的Web應(yīng)用開發(fā)研究[D].華東師范大學(xué),2011.
[5]林樂逸.基于ASP.NET MVC和實(shí)體框架的軟件項(xiàng)目管理平臺[D].上海交通大學(xué),2012.
[6]馬鵬烜.基于LINQ to Entity數(shù)據(jù)訪問技術(shù)的應(yīng)用研究[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2011(14).
[7]何麗,龔?fù)?JQuery在Ajax技術(shù)框架中頁面加載的應(yīng)用[J].計(jì)算機(jī)時(shí)代,2011(08):25-26.
作者簡介:巴音查汗(1967-),男,研究生,高級講師,研究方向:學(xué)校信息化建設(shè)、軟件開發(fā)。
作者單位:新疆職業(yè)大學(xué) 信息技術(shù)學(xué)院,烏魯木齊 830013