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