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

        ?

        基于多層架構(gòu)的ASP.NET 4 MVC框架研究

        2015-01-17 11:14:50王素芳胡必波
        電腦與電信 2015年10期
        關(guān)鍵詞:頁(yè)面用戶系統(tǒng)

        王素芳 胡必波

        (1.廣東白云學(xué)院,廣東 廣州 510430;2.廣州工商學(xué)院,廣東 廣州 510850)

        基于多層架構(gòu)的ASP.NET 4 MVC框架研究

        王素芳1胡必波2

        (1.廣東白云學(xué)院,廣東 廣州 510430;2.廣州工商學(xué)院,廣東 廣州 510850)

        ASP.NET MVC框架是微軟今后開(kāi)發(fā)Web應(yīng)用程序的一個(gè)主流技術(shù)。本文介紹了如何將一個(gè)基于多層架構(gòu)、ASP.NET 4技術(shù)的Web Forms應(yīng)用遷移為多層架構(gòu)的ASP.NET 4 MVC框架應(yīng)用。從多層架構(gòu)的角度出發(fā),深入剖析了MVC模式工作原理,并給出了一個(gè)多層架構(gòu)的ASP.NET 4 MVC客戶關(guān)系管理系統(tǒng)實(shí)例。

        多層架構(gòu);MVC模式;ASP.NET MVC;ASP.NET Web Forms

        1 引言

        在開(kāi)發(fā)軟件時(shí),需求的不斷變化對(duì)軟件質(zhì)量和可維護(hù)性有很強(qiáng)的破壞性。MVC模式就是一種能有效降低變化所帶來(lái)的沖擊的可行解決方案。它通過(guò)業(yè)務(wù)邏輯層與數(shù)據(jù)表現(xiàn)層的分割,把這兩部分?jǐn)?shù)據(jù)分離開(kāi)來(lái),以編寫出更具模塊化、可維護(hù)性更高的程序。自引入以來(lái),MVC已經(jīng)在數(shù)十種框架中應(yīng)用,例如,Java開(kāi)發(fā)Web Application框架有Jsp+Servlet+JavaBean(EJB)等,.NET開(kāi)發(fā)Web Application框架有ASP. NET MVC Framework(ASP.NET MVC)等,PHP開(kāi)發(fā)Web Application框架有ThinkPHP/FleaPHP等。其中ASP.NET MVC是微軟公司在原有的ASP.NET框架基礎(chǔ)上提出的一個(gè)新的MVC框架。利用ASP.NET MVC,.NET開(kāi)發(fā)人員可以用MVC模式來(lái)構(gòu)建Web應(yīng)用,做到清晰的概念分離(UI或視圖與業(yè)務(wù)應(yīng)用邏輯分離,應(yīng)用邏輯和后端數(shù)據(jù)分離),同時(shí)還可以使用測(cè)試驅(qū)動(dòng)開(kāi)發(fā),這些是ASP.NET Web Forms完全無(wú)法比擬的。ASP.NET MVC已經(jīng)成為.NET開(kāi)發(fā)人員必須掌握的關(guān)鍵技術(shù)之一。

        2 多層架構(gòu)技術(shù)

        多層系統(tǒng)架構(gòu)又被稱為N層系統(tǒng)架構(gòu),是指將軟件系統(tǒng)的各個(gè)功能分開(kāi),放在不同的獨(dú)立程序集中,形成獨(dú)立的“層”,各層之間通過(guò)規(guī)定的規(guī)則進(jìn)行調(diào)用,以完成整個(gè)軟件系統(tǒng)。

        圖1 多層系統(tǒng)架構(gòu)圖

        如圖1所示為一般設(shè)計(jì)的通用多層系統(tǒng)架構(gòu),其中Client層為用戶的瀏覽器,也即客戶層;UI層為系統(tǒng)開(kāi)發(fā)的用戶界面層,用于向用戶展示系統(tǒng)運(yùn)行的結(jié)果,并接收用戶的數(shù)據(jù)輸入及操作;BLL層為系統(tǒng)開(kāi)發(fā)的業(yè)務(wù)邏輯處理層,用于完成功能實(shí)現(xiàn)過(guò)程中各種業(yè)務(wù)過(guò)程的處理,對(duì)于有一定要求的用戶操作或功能實(shí)現(xiàn),在UI層代碼調(diào)用BLL層中對(duì)應(yīng)的方法完成;DAL層為專門用于實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)的層,根據(jù)其它層的需要完成數(shù)據(jù)庫(kù)中數(shù)據(jù)的讀取或更新數(shù)據(jù)到數(shù)據(jù)庫(kù);對(duì)于UI中需要完成的簡(jiǎn)單數(shù)據(jù)操作功能,沒(méi)有業(yè)務(wù)邏輯操作時(shí),可以由UI層中代碼直接調(diào)用DAL層中的類的相應(yīng)方法完成數(shù)據(jù)訪問(wèn),對(duì)于有一定業(yè)務(wù)邏輯的功能,則由BLL層中的代碼調(diào)用此層中的功能,而不直接由UI層訪問(wèn)DAL層代碼;Entity層則是定義的通用實(shí)體類層,其中定義的類用于UI層、BLL層、DAL層進(jìn)行交互時(shí)提供統(tǒng)一的實(shí)體類定義,實(shí)體類一般根據(jù)數(shù)據(jù)庫(kù)結(jié)構(gòu)或業(yè)務(wù)邏輯的需要而定義。

        3 MVC設(shè)計(jì)模式

        MVC(Model-View-Controller)不是一種編程語(yǔ)言,嚴(yán)格來(lái)說(shuō)也不算是一種技術(shù),而是一種開(kāi)發(fā)架構(gòu),一種開(kāi)發(fā)觀念,或者說(shuō)是一種程序設(shè)計(jì)模式。MVC設(shè)計(jì)模式典型地反映了數(shù)據(jù)與表示的分離,它是一種交互界面的結(jié)構(gòu)組織模式,廣泛用于圖形界面的設(shè)計(jì)中。MVC強(qiáng)調(diào)把用戶輸入、數(shù)據(jù)模型和圖像顯示以模塊化的方式分開(kāi)設(shè)計(jì),將一個(gè)交互式應(yīng)用程序分成以下3個(gè)部件:

        (1)模型(Model):也稱作數(shù)據(jù)模型,是軟件所處理的核心邏輯,包括核心功能和數(shù)據(jù)。

        (2)視圖(View):向用戶顯示信息,對(duì)相同的信息可以有不同的顯示。

        (3)控制器(Controller):處理用戶的輸入(如:鼠標(biāo)、鍵盤等),轉(zhuǎn)化為用戶對(duì)模型或視圖的服務(wù)請(qǐng)求,并把信息的變化傳遞給視圖。用戶僅通過(guò)控制器與系統(tǒng)交互。

        圖2 Web應(yīng)用程序的MVC概念圖

        如圖2所示,說(shuō)明在ASP.NET 4 MVC中,模型、視圖、控制器之間的關(guān)系??刂破髟谄渲邪缪葜浅V匾慕巧?,控制器不僅處理用戶的請(qǐng)求,還實(shí)現(xiàn)與模型之間的交互,對(duì)指定的視圖發(fā)送相關(guān)的命令,在實(shí)際的ASP.NET 4 MVC應(yīng)用開(kāi)發(fā)中,開(kāi)發(fā)者的主要工作就是實(shí)現(xiàn)控制器的編碼。

        4 實(shí)現(xiàn)多層架構(gòu)的ASP.NET 4 MVC系統(tǒng)遷移

        (1)搭建多層架構(gòu)的MVC框架

        客戶關(guān)系管理系統(tǒng)包括:營(yíng)銷管理、客戶管理、服務(wù)管理、統(tǒng)計(jì)報(bào)表和基礎(chǔ)數(shù)據(jù)5個(gè)功能模塊。另包括用于支持系統(tǒng)的權(quán)限管理模塊。該系統(tǒng)采用了多層架構(gòu),解決方案為CRM;UI層使用Web應(yīng)用程序項(xiàng)目類型,項(xiàng)目名稱為Crm;包括BLL(業(yè)務(wù)邏輯處理層)、DAL(數(shù)據(jù)訪問(wèn)的層)、Entity(通用實(shí)體類層)等類庫(kù)項(xiàng)目。各層之間的關(guān)系,通過(guò)添加相關(guān)的引用來(lái)完成。整個(gè)網(wǎng)頁(yè)主要分為六大部分:根目錄下的瀏覽頁(yè)面、“SaleManage”目錄下的營(yíng)銷管理頁(yè)面、“Customer-Management”目錄下的客戶管理頁(yè)面、“CustomerServices”目錄下的客戶服務(wù)頁(yè)面;“EmplyeeManage”目錄下的員工管理頁(yè)面;“Statistics”目錄下的統(tǒng)計(jì)報(bào)表頁(yè)面。如圖3所示,可以看出遷移后的MvcCrm.NET項(xiàng)目結(jié)構(gòu)所包括BLL、DAL、Entity等類庫(kù)項(xiàng)目代碼與Crm.NET項(xiàng)目結(jié)構(gòu)完全相同。

        圖3 MvcCrm.NET的項(xiàng)目結(jié)構(gòu)

        MVC模式通過(guò)對(duì)多層架構(gòu)的BLL層與UI層的分割,把這兩部分?jǐn)?shù)據(jù)分離開(kāi)來(lái),以編寫出更具模塊化、可維護(hù)性更高的程序。MVC模式是把多層架構(gòu)中的UI層進(jìn)行了分化,分成了M、V、C三個(gè)部分,其中C完成頁(yè)面邏輯,可直接與BLL層進(jìn)行對(duì)話,通過(guò)V來(lái)與UI層完成通話??梢哉f(shuō),MVC模式是屬于多層架構(gòu)中的表現(xiàn)層,多層和MVC模式可以共存,多層架構(gòu)是基于業(yè)務(wù)邏輯來(lái)分的,而MVC模式是基于頁(yè)面來(lái)分的。多層架構(gòu)和MVC模式之間的關(guān)系,如圖4所示。

        圖4 多層架構(gòu)和MVC模式之間的關(guān)系

        (2)模型開(kāi)發(fā)

        在MvcCrm.NET系統(tǒng)中,模型的開(kāi)發(fā)通過(guò)多層架構(gòu)來(lái)實(shí)現(xiàn)。Entity層定義了6個(gè)實(shí)體類,這些類分別是Customer-Leve類、CustomerLostStatus類、CustomerStatus類、ORDERSTATUS類、SaleChanceStatus類、ServiceType類。實(shí)體類對(duì)象并不是與數(shù)據(jù)表一一對(duì)應(yīng)的。比如在數(shù)據(jù)庫(kù)DsCrmSecond中有Order表,但是并不需要構(gòu)建相關(guān)的業(yè)務(wù)邏輯;反過(guò)來(lái)說(shuō),Entity層有CustomerLeve類,在數(shù)據(jù)庫(kù)中并不存在相關(guān)的數(shù)據(jù)表。一句話,要根據(jù)應(yīng)用程序的需要構(gòu)建合適的業(yè)務(wù)對(duì)象。DAL層定義了4個(gè)類,分別是UsersInfoRepository類、SaleChanceRepository類、ApplicationRepository類、Repository類。BLL層定義了SalePlanService類、OrderService類、CustomerService類、CustomerServicesService類、Application-InfoService等11個(gè)類。在MvcCrm.NET系統(tǒng)中的控制器中,就是使用這些業(yè)務(wù)邏輯類來(lái)查詢、添加、修改、刪除相關(guān)的實(shí)體類對(duì)象的。工具類“Utils”項(xiàng)目,則定義了讀、寫配置文件Web.config的一些ConfigurationTool類。

        (3)控制器開(kāi)發(fā)

        位于目錄“Controllers”,主要是CustomerController控制器、SaleController控制器的實(shí)現(xiàn)。CustomerController控制器用于處理系統(tǒng)中客戶頁(yè)面的請(qǐng)求,SaleController控制器則主要處理營(yíng)銷頁(yè)面的請(qǐng)求。由于MvcCrm.NET系統(tǒng)使用了母版頁(yè)技術(shù),因此在控制器的開(kāi)發(fā)中,需要開(kāi)發(fā)一個(gè)控制器基類——ApplicationController。

        (4)視圖開(kāi)發(fā)

        在實(shí)現(xiàn)了MvcCrm.NET系統(tǒng)中的模型、控制器之后,就可以比較容易地實(shí)現(xiàn)該網(wǎng)站中各種頁(yè)面的視圖開(kāi)發(fā)。根據(jù)ASP.NET 4 MVC框架的默認(rèn)約定,需要主要開(kāi)發(fā)兩大類的視圖頁(yè)面,分別位于目錄“Views”中的“CustomerManag”文件夾和“SaleManage”文件夾中。

        5 結(jié)語(yǔ)

        多層架構(gòu)和MVC模式是有明顯區(qū)別的,MVC模式可以是屬于多層架構(gòu)中的表現(xiàn)層。多層架構(gòu)的實(shí)現(xiàn),可以非常方便地來(lái)構(gòu)建ASP.NET 4 MVC項(xiàng)目中的模型。值得一提的是ASP.NET MVC框架與Web Forms技術(shù)是建立在ASP.NET基礎(chǔ)上的兩種平行技術(shù),是微軟今后同時(shí)發(fā)展的兩種Web開(kāi)發(fā)技術(shù)。它只是給開(kāi)發(fā)者提供了開(kāi)發(fā)Web應(yīng)用程序的一種選擇,而絕不是替代傳統(tǒng)的Web Forms技術(shù),這兩種技術(shù)在不同的應(yīng)用場(chǎng)景中,具有不同的優(yōu)、缺點(diǎn),開(kāi)發(fā)者需要根據(jù)實(shí)際情況,選擇對(duì)應(yīng)的技術(shù),甚至在同一個(gè)項(xiàng)目中混合使用這兩種技術(shù)。

        [1]董寧.ASP.NET MVC程序開(kāi)發(fā)[M].北京:人民郵電出版社,2014.

        [2]張家浩.現(xiàn)代軟件工程[M].北京:機(jī)械工業(yè)出版社,2009.

        [3]林慶,朱翠苗,鄭廣成,等.基于ASP.NET的MVC設(shè)計(jì)模式的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,(1):167-169.

        [4]黃勝根,陳蜀宇.基于ASP.NET MVC框架的干教系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,(2):191-193.

        Research on ASP.NET 4 MVC Framework Based on Multi-tiers Architecture

        Wang Sufang1Hu Bibo2
        (1.Guangdong Baiyun University,Guangzhou 510430,Guangdong; 2.Guangzhou industrial and Commercial College,Guangzhou 510850,Guangdong)

        ASP.NET MVC framework is a mainstream technology for developing Web applications in the future.This paper describes how to transfer a Web Forms application based on multi-tiers architecture and ASP.NET 4 technology to a ASP.NET 4 MVC framework for multi-tiers architecture.From the perspective of multi-tiers architecture,the working principle of MVC mode is analyzed,and a MVC 4ASP.NET customer relationship management system is given.

        multi-tiers architecture;MVC model;ASP.NET MVC;ASP.NET Web Forms

        TP311.52

        A

        1008-6609(2015)10-0064-03

        王素芳,女,江西人,碩士,講師,研究方向:數(shù)據(jù)庫(kù),人工智能,多媒體技術(shù)等。

        猜你喜歡
        頁(yè)面用戶系統(tǒng)
        大狗熊在睡覺(jué)
        Smartflower POP 一體式光伏系統(tǒng)
        刷新生活的頁(yè)面
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        如何獲取一億海外用戶
        国产精品h片在线播放| 亚洲天堂av另类在线播放| 色婷婷在线一区二区三区| 亚洲熟女精品中文字幕| 天干天干啦夜天干天2017| 无码国产精品第100页| 亚洲一区二区三区视频免费| 婷婷久久国产综合精品| 国产午夜福利小视频在线观看 | 亚洲av综合一区二区在线观看| 午夜精品射精入后重之免费观看| 国产精品成人久久电影| 亚洲视频天堂| 最新国产主播一区二区| 综合久久精品亚洲天堂| 精品亚洲一区二区区别在线观看 | 久久综合给合久久狠狠狠9| 99久久精品人妻一区二区三区 | 日本亚洲视频免费在线看| 极品少妇hdxx麻豆hdxx| 无尽动漫性视频╳╳╳3d| 99免费视频精品| 成h视频在线观看免费| 国产免费一区二区三区免费视频| 国产精品久久久久久久久KTV | 小草手机视频在线观看| 少妇人妻精品久久888| 2019最新中文字幕在线观看| 亚洲最大中文字幕无码网站| 不打码在线观看一区二区三区视频| 日韩精品乱码中文字幕| (无码视频)在线观看| 每天更新的免费av片在线观看| 无码8090精品久久一区| 国产三级精品av在线| 中国老熟女重囗味hdxx| 久久国产精品国产精品日韩区 | 女人天堂av免费在线| 亚洲丝袜美腿在线视频| 国产女主播精品大秀系列| 国产一区二区牛影视|