瞿曉娟
摘 要:Web體系應(yīng)用范圍的逐步擴(kuò)大,以互聯(lián)網(wǎng)為基礎(chǔ)的電子貿(mào)易需求快速增長(zhǎng),構(gòu)建一個(gè)便捷、成熟的服務(wù)平臺(tái)已經(jīng)成為商業(yè)用戶(hù)提升貿(mào)易水平的重要技術(shù)選擇。MVC系統(tǒng)作為網(wǎng)絡(luò)平臺(tái)構(gòu)建的基礎(chǔ)之一,本文主要介紹基于該種模式下,通過(guò)JSP、Servlet以及JavaBean技術(shù),構(gòu)建前臺(tái)服務(wù)模式以及后臺(tái)管理模塊的設(shè)計(jì)方法。
關(guān)鍵詞:整體結(jié)構(gòu) 技術(shù)細(xì)節(jié) 數(shù)據(jù)庫(kù)設(shè)計(jì)
MVC模式屬于模塊(Model)、視圖(View)、控制器(Controller)的總稱(chēng),是Desktop程序的軟件開(kāi)發(fā)系統(tǒng),近幾年在網(wǎng)絡(luò)平臺(tái)的構(gòu)建方面應(yīng)用范圍較廣。該種模式利用組件間低耦合度的設(shè)計(jì)思路,將軟件系統(tǒng)隔離為三個(gè)部分:用戶(hù)界面、程序控制以及數(shù)據(jù)處理。
一、MVC整體結(jié)構(gòu)與視圖、模型以及控制器的依賴(lài)關(guān)系
1、MVC的完整結(jié)構(gòu)
MVC完整的結(jié)構(gòu)如圖1所示,但圖1并不能稱(chēng)之為嚴(yán)格意義上的類(lèi)圖,該種結(jié)構(gòu)圖只是借用類(lèi)圖的模式來(lái)表示視圖、控制器以及模型之間的關(guān)系,結(jié)合結(jié)構(gòu)圖可以看出:
(1)View層與Model層存在雙向依賴(lài)耦合,一個(gè)方向上是關(guān)聯(lián),一個(gè)方向上是依賴(lài);(2)View層與Controller層間存在雙向依賴(lài)耦合,一個(gè)方向是關(guān)聯(lián),一個(gè)方向是依賴(lài);(3)Controller與Model層間存在單向關(guān)聯(lián)。為方便理解,給出圖2,對(duì)關(guān)聯(lián)和依賴(lài)做了編號(hào)以便展開(kāi)。
2、系統(tǒng)的正向依賴(lài)與反向依賴(lài)
(1)正向依賴(lài):上層視圖層對(duì)象和下層模型層某對(duì)象間存在關(guān)聯(lián)關(guān)系;(2)正向依賴(lài):上層視圖層對(duì)象和下層控制層對(duì)象間存在關(guān)聯(lián)關(guān)系,上層請(qǐng)求下層轉(zhuǎn)發(fā)業(yè)務(wù)邏輯處理請(qǐng)求,即用戶(hù)在視圖層激發(fā)的業(yè)務(wù)請(qǐng)求,發(fā)給控制器層進(jìn)行轉(zhuǎn)發(fā)控制;(3)正向依賴(lài):上層控制層對(duì)象和下層模型層對(duì)象間存在關(guān)聯(lián)關(guān)系。3號(hào)關(guān)聯(lián)線表示控制層對(duì)象轉(zhuǎn)發(fā)給對(duì)應(yīng)模型層業(yè)務(wù)對(duì)象處理來(lái)自用戶(hù)在視圖層的請(qǐng)求;(4)反向依賴(lài):下層模型層對(duì)象和上層視圖層對(duì)象間存在依賴(lài)關(guān)系。4號(hào)依賴(lài)線表示底層的模型層對(duì)象向本地維護(hù)數(shù)組內(nèi)的視圖層對(duì)象發(fā)出更新視圖消息,即當(dāng)模型對(duì)象已經(jīng)更新準(zhǔn)備妥當(dāng)時(shí),要求更新視圖顯示;(5)反向依賴(lài):下層控制器層對(duì)象和上層視圖層對(duì)象間存在依賴(lài)關(guān)系,和4類(lèi)似但解決得是另一種情況時(shí)的視圖直接更新。當(dāng)控制器層對(duì)象接收到來(lái)自視圖層消息后,可能不必更新模型層對(duì)象狀態(tài)而只需通知視圖改變部分顯示內(nèi)容。5號(hào)依賴(lài)線表示由控制層通知視圖層已經(jīng)就緒,要求切換顯示視圖。
二、以MVC模式為基礎(chǔ)的電子交易平臺(tái)構(gòu)建
電子交易平臺(tái)設(shè)計(jì)的目的在于實(shí)現(xiàn)網(wǎng)絡(luò)平臺(tái)商務(wù)交流的整個(gè)流程,因此將平臺(tái)的用戶(hù)分為兩類(lèi),第一類(lèi)是指平臺(tái)的顧客;第二類(lèi)是平臺(tái)的管理者。面向顧客提供的服務(wù)功能包括:產(chǎn)品的展示、關(guān)鍵檢索、商品購(gòu)買(mǎi)(包括購(gòu)物車(chē)的收藏功能)、訂單查詢(xún)。管理員的使用功能包括:訂單交易的刪減與查詢(xún)、用戶(hù)管理以及管理產(chǎn)品庫(kù)存數(shù)量。
1、MVC系統(tǒng)功能的具體實(shí)行程序。面向不同用戶(hù)的基礎(chǔ)性功能都需要一個(gè)以上的jsp頁(yè)面、servlet程序以及javaBean類(lèi)進(jìn)行協(xié)同操作,共同實(shí)現(xiàn)該項(xiàng)功能。用戶(hù)利用jsp的界面接口將數(shù)據(jù)信息輸入其中,servlet根據(jù)平臺(tái)用戶(hù)的實(shí)際請(qǐng)求,對(duì)javaBean類(lèi)進(jìn)行調(diào)用,并在此基礎(chǔ)上利用javjbean類(lèi)來(lái)進(jìn)行業(yè)務(wù)的處理工作,最后將處理后的數(shù)據(jù)傳遞給jsp界面,向用戶(hù)展示。
2、MVC系統(tǒng)的技術(shù)細(xì)節(jié)。以MVC系統(tǒng)為基礎(chǔ)構(gòu)建的電子平臺(tái)所有的數(shù)據(jù)傳輸都是利用request程序來(lái)完成的,在此基礎(chǔ)之上,保存周期較長(zhǎng)的數(shù)據(jù)通過(guò)session對(duì)象進(jìn)行保存,如注冊(cè)用戶(hù)的信息以及購(gòu)物車(chē)等數(shù)據(jù)資料。
3、不同模塊的功能。產(chǎn)品購(gòu)買(mǎi)的模塊功能主要包括購(gòu)物車(chē)信息、個(gè)人信息設(shè)置、訂單信息以及郵件發(fā)送;產(chǎn)品搜索的服務(wù)功能包括:按照價(jià)格條件進(jìn)行篩選、關(guān)鍵字搜索、品牌信息、產(chǎn)品類(lèi)型;產(chǎn)品管理的使用功能包括:貨物清點(diǎn)與計(jì)算、銷(xiāo)售情況調(diào)查、產(chǎn)品信息修改、新產(chǎn)品入倉(cāng);訂單管理模塊的主要功能有:依照條件查詢(xún)訂單、產(chǎn)品發(fā)貨、刪除訂單、查看訂單;用戶(hù)管理的功能包括增刪用戶(hù)以及發(fā)送通知。
三、MVC交易平臺(tái)的整體設(shè)計(jì)
1、數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。由于MVC系統(tǒng)必需在Windows程序上運(yùn)行,需要系統(tǒng)具備并發(fā)操作的功能,所以數(shù)據(jù)庫(kù)主要采用SQL Sever2005 DBMS程序,保證MVC的運(yùn)行效率。與此同時(shí),電子商務(wù)系統(tǒng)的構(gòu)建還對(duì)承載運(yùn)行的系統(tǒng)性能有著一定的要求,所以通常選擇SQL Sever2005程序默認(rèn)的文件系統(tǒng)。用戶(hù)在進(jìn)行操作前應(yīng)該輸入特定的用戶(hù)名稱(chēng)與口令,MVC將依照不同的用戶(hù)類(lèi)型授予相應(yīng)的使用、管理權(quán)限。
2、基表的設(shè)計(jì)。基表是電子平臺(tái)的信息分類(lèi)表格,對(duì)系統(tǒng)的不同功能進(jìn)行劃分,便于客戶(hù)與管理者更好的應(yīng)用平臺(tái)的系統(tǒng)功能。通常情況下,平臺(tái)將基表設(shè)計(jì)分為五種,即:商品信息表、訂單信息與訂單詳情表、用戶(hù)信息表以及通知信息表。其中商品信息表將goodsID作為主鍵,主要是對(duì)產(chǎn)品的信息進(jìn)行記錄;用戶(hù)信息表將userID作為主鍵,對(duì)用戶(hù)使用信息進(jìn)行記錄,通過(guò)grade來(lái)對(duì)不同的用戶(hù)等級(jí)進(jìn)行標(biāo)識(shí),數(shù)字5在平臺(tái)中代表管理員的身份級(jí)別,數(shù)字1代表普通的用戶(hù)等級(jí);訂單信息表主要是記錄訂單的詳細(xì)信息,包括日期、價(jià)格等,主鍵是orderID,外鍵為userID對(duì)應(yīng)用戶(hù)信息表;訂單詳情表的主鍵是由orderID與goodsID聯(lián)合而成的,對(duì)訂單的貨物類(lèi)型、數(shù)量、產(chǎn)品性質(zhì)等信息進(jìn)行記錄,外鍵則是orderID與goodsID,分別對(duì)應(yīng)訂單與商品信息表;通知信息表的主鍵是managerID,主要記錄管理員向用戶(hù)發(fā)送的信息內(nèi)容。
結(jié) 語(yǔ)
MVC模式的整體結(jié)構(gòu)由模型、控制器以及視圖三部分組成,本質(zhì)上屬于觀察者程序在電子平臺(tái)體系構(gòu)建的變形使用,由于平臺(tái)的用戶(hù)注冊(cè)針對(duì)的是客戶(hù)與管理者,模型層與控制層分別維護(hù)不同的視圖層對(duì)象,因此需要對(duì)數(shù)據(jù)庫(kù)、系統(tǒng)功能、基表進(jìn)行合理的設(shè)計(jì),以保證電子貿(mào)易平臺(tái)的穩(wěn)定性。
參考文獻(xiàn):
[1] 柯華坤,梁斌.基于MVC模式的電子商務(wù)教學(xué)實(shí)訓(xùn)系統(tǒng)交易模塊的實(shí)現(xiàn)[J].電腦迷,2017(14);
[2] 高群霞.基于MVC模式和多層架構(gòu)的電子商務(wù)網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)[J].科技廣場(chǎng),2017(1);
[3] 盧德智,林宇恒.基于MVC設(shè)計(jì)模式的醫(yī)藥商務(wù)CMS分層優(yōu)化平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī),2015(16).