■ 文/公安部第一研究所 年福星 王毅
隨著網(wǎng)絡(luò)應(yīng)用的快速增加,MVC模式至今已被廣泛使用,并被推薦為公司平臺的設(shè)計(jì)模式,是非常先進(jìn)的Web應(yīng)用的開發(fā)設(shè)計(jì)思想,受到越來越多的用戶和開發(fā)者的歡迎。
隨著公安部社會公共安全產(chǎn)品行業(yè)綜合信息服務(wù)網(wǎng)(簡稱公安部行業(yè)網(wǎng))需求的日益復(fù)雜,簡單的分層己經(jīng)不能滿足種類繁多的商務(wù)應(yīng)用需要。以前的開發(fā)模式,不僅開發(fā)周期長,而且可維護(hù)性差,開發(fā)和維護(hù)人員的工作量大。MVC模式將后臺模塊和業(yè)務(wù)邏輯完全隔離,能夠簡化公安部行業(yè)網(wǎng)的系統(tǒng)開發(fā)流程,提高開發(fā)效率,降低維護(hù)成本。
MVC是一種軟件設(shè)計(jì)模式,它將復(fù)雜的Web應(yīng)用程序分成模型(Model)、視圖(View)和控制器(Controller)三個(gè)部分,使應(yīng)用程序的輸入、處理和輸出分開,從而實(shí)現(xiàn)Web應(yīng)用的職能分工。MVC模型結(jié)構(gòu)如圖1所示。
圖1 MVC模型結(jié)構(gòu)
視圖負(fù)責(zé)界面數(shù)據(jù)和用戶請求的采集和顯示,將接收到的模型處理結(jié)果顯示給用戶,一個(gè)模型可以對應(yīng)一個(gè)或者多個(gè)視圖??刂破魇悄P团c視圖的聯(lián)系紐帶,負(fù)責(zé)用戶請求的接收和轉(zhuǎn)發(fā)。模型封裝了系統(tǒng)的核心流程和業(yè)務(wù)規(guī)則,是MVC模式的核心,其接收來自視圖的用戶請求或數(shù)據(jù),并將處理結(jié)果返回給視圖。為滿足公安部行業(yè)網(wǎng)復(fù)雜的業(yè)務(wù)需求,技術(shù)架構(gòu)設(shè)計(jì)方面充分考慮了前瞻性、開放性,針對未來可能情況預(yù)留了設(shè)計(jì)空間,滿足易于擴(kuò)展的需求,使之能適應(yīng)公安行業(yè)的變化。同時(shí)系統(tǒng)還考慮了實(shí)用性、可維護(hù)性,保證架構(gòu)的成熟和系統(tǒng)安全穩(wěn)定可靠,適應(yīng)公安行業(yè)管理應(yīng)用的復(fù)雜性和全面性需求。
根據(jù)MVC的設(shè)計(jì)思想,基于MVC設(shè)計(jì)公安部行業(yè)網(wǎng)主要工作是根據(jù)業(yè)務(wù)需求構(gòu)建MVC模型,將網(wǎng)站功能分離成模型層、視圖層和控制層。
目前在社會公共安全行業(yè),雖然已有一些相關(guān)的行業(yè)網(wǎng)站,但大部分只涉及到社會公共安全行業(yè)中的某一行業(yè),如安防、消防、警用裝備等,而面向整個(gè)社會公共安全行業(yè)的綜合性網(wǎng)站并不多。因此開發(fā)公安部行業(yè)網(wǎng)的主要目的是為各級公安單位和廣大公共安全行業(yè)企事業(yè)單位全面細(xì)致地提供公安科技政策、科技成果、技術(shù)標(biāo)準(zhǔn)、檢測認(rèn)證、技術(shù)機(jī)構(gòu)等方面的信息查詢,以及新產(chǎn)品新技術(shù)專家評價(jià)、產(chǎn)品圖文報(bào)道、多媒體宣傳、業(yè)務(wù)技術(shù)培訓(xùn)、行業(yè)信息交流、招投標(biāo)信息介紹、基地產(chǎn)品展示等方面的信息服務(wù),服務(wù)范圍涉及警用裝備、安全防范、道路交通、刑事技術(shù)、警用通訊、信息安全、消防技術(shù)等公安領(lǐng)域。
通過對公安部行業(yè)網(wǎng)的用戶及相關(guān)管理工作人員的需求進(jìn)行深入溝通分析,總結(jié)出公安部行業(yè)網(wǎng)的主要功能為:
(1)網(wǎng)站前端功能。包括為社會公共全行業(yè)相關(guān)的企事業(yè)單位提供用戶登錄、資源檢索(如網(wǎng)員信息、標(biāo)準(zhǔn)信息、產(chǎn)品信息及政策法規(guī)的查詢檢索)、在線瀏覽(如電子雜志、視頻演示)、資料下載、在線互動(如留言、點(diǎn)贊、轉(zhuǎn)發(fā)微信和微博)等功能。
(2)網(wǎng)站后端功能。包括為公安部行業(yè)網(wǎng)的管理人員提供上述功能板塊的后臺管理(如成果信息、政策法規(guī)等資源發(fā)布與更新)、權(quán)限管理(如角色管理、管理員管理)、網(wǎng)員管理(如續(xù)費(fèi)管理、網(wǎng)員等級、資質(zhì)管理)、后臺用戶視圖管理、字段的控制能力等功能。
根據(jù)MVC的設(shè)計(jì)思想,我們建立以下數(shù)學(xué)模型來表示公安部行業(yè)網(wǎng):
S=(M,V,C,R)
C=(C1,C2,……,Ci)
M=(M1,M2,……,Mj)
V=(V1,V2,……,Vk)
R=(R1,R2,……,Rl)
S表示公安部行業(yè)網(wǎng),M、V、C分別表示公安部行業(yè)網(wǎng)的模型、視圖和控制器,R則表示公安部行業(yè)網(wǎng)的用戶及相關(guān)管理工作人員的請求集合,R集合將M、V、C聯(lián)系成一個(gè)有機(jī)整體。
依照該數(shù)學(xué)模型,將公安部行業(yè)網(wǎng)的功能進(jìn)行分層,得到行業(yè)網(wǎng)的MVC軟件模型。
(1)模型層(M集合)包括所有數(shù)據(jù)庫以及對數(shù)據(jù)庫的邏輯處理,具體為數(shù)據(jù)庫的連接處理、數(shù)據(jù)檢索(包括資源檢索、數(shù)據(jù)查詢)邏輯以及數(shù)據(jù)更新(包括新資源導(dǎo)入、上傳、刪除、數(shù)據(jù)庫備份與恢復(fù)等)邏輯等。
(2)視圖層(V集合)包括直接與用戶(企業(yè)或行業(yè)網(wǎng)管理人員)交互的模塊。
(3)控制器層(C集合)包括所有控制流程,具體為用戶各種請求的接受處理并轉(zhuǎn)化為對相應(yīng)業(yè)務(wù)邏輯的控制,將業(yè)務(wù)邏輯的處理結(jié)果返回給相應(yīng)的頁面顯示的控制等。
基于MVC模式,我們對現(xiàn)有“公安部社會公共安全產(chǎn)品行業(yè)綜合信息服務(wù)網(wǎng)站”進(jìn)行改版升級。本文選擇了PHP語言作為研發(fā)工具,Mysql Server 5.3版本數(shù)據(jù)庫及Redis緩存數(shù)據(jù)庫。同步開發(fā)了公安部行業(yè)網(wǎng)的網(wǎng)站,以及手機(jī)版和微信公眾號,基于這個(gè)三個(gè)平臺,充分提高公安部行業(yè)網(wǎng)用戶的粘性、互動性、轉(zhuǎn)化率,有助于將網(wǎng)站打造為公共安全行業(yè)公安信息服務(wù)及應(yīng)用的品牌大平臺。公安部行業(yè)網(wǎng)的部分功能如圖2所示。
圖2 公安部行業(yè)網(wǎng)功能頁面
基于MVC模式開發(fā)公安部行業(yè)網(wǎng),更好地實(shí)現(xiàn)了公安科技政策管理、行業(yè)動態(tài)管理、科技成果管理、技術(shù)標(biāo)準(zhǔn)管理、網(wǎng)員信息查詢及繳費(fèi)管理、產(chǎn)品展示管理、招投標(biāo)信息管理、技術(shù)專題管理、基地展示管理、視頻演示管理、電子雜志管理、系統(tǒng)管理等功能。實(shí)現(xiàn)了系統(tǒng)開發(fā)的預(yù)期目標(biāo),并增加了科技成果評價(jià)、科技查新、知識產(chǎn)權(quán)分析等信息服務(wù)應(yīng)用,滿足了各級公安單位及其所屬科研單位、科研院所、高校和廣大公共安全行業(yè)企事業(yè)單位的信息服務(wù)需求,加快了供需對接,更好地促進(jìn)了公安科技成果轉(zhuǎn)化推廣。
MVC模式將公安部行業(yè)網(wǎng)的數(shù)據(jù)層、業(yè)務(wù)邏輯處理層與數(shù)據(jù)表示層清晰分離,所以最終實(shí)現(xiàn)的公安部行業(yè)網(wǎng)具有更好的擴(kuò)展性和可維護(hù)性。另外,利用MVC模式還便于團(tuán)隊(duì)協(xié)作,提高設(shè)計(jì)文檔的編寫能力,大大提高團(tuán)隊(duì)開發(fā)效率。
[1]戴一平.MVC設(shè)計(jì)模式在PHP開發(fā)中的應(yīng)用[J].計(jì)算機(jī)與現(xiàn)代化,2011(03):33-37,43.
[2]侯順亞. 基于MVC模式的電子商務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 東北財(cái)經(jīng)大學(xué), 2010.
[3]焦夢姝, 劉波. 基于.NET的MVC網(wǎng)站多層架構(gòu)分析與設(shè)計(jì)[J]. 軟件, 2012, 33(11):14-17.
[4]李海峰.MVC模式架構(gòu)的應(yīng)用研究[J].自動化與儀器儀表,2013(01):4-5,7.
[5]秦瑾若. 基于MVC模式的新聞發(fā)布與管理系統(tǒng)設(shè)計(jì)與分析[J]. 廣西民族大學(xué)學(xué)報(bào)(自然科學(xué)版), 2014, 20(1):79-83.