999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MVC模式下的軟件開(kāi)發(fā)框架設(shè)計(jì)

2021-03-15 06:59:23劉偉李樹(shù)文
電腦知識(shí)與技術(shù) 2021年1期
關(guān)鍵詞:開(kāi)發(fā)

劉偉 李樹(shù)文

摘要:針對(duì)傳統(tǒng)軟件開(kāi)發(fā)框架中存在開(kāi)發(fā)成本高、開(kāi)發(fā)效率低,甚至需要多次變更導(dǎo)致開(kāi)發(fā)混亂的問(wèn)題,開(kāi)展MVC模式下的軟件開(kāi)發(fā)框架設(shè)計(jì)研究。通過(guò)基于多種視圖技術(shù)的軟件視圖展示設(shè)計(jì)、任務(wù)分發(fā)控制器選擇、基于MVC模式下的軟件開(kāi)發(fā)業(yè)務(wù)邏輯處理設(shè)計(jì),提出一種全新的軟件開(kāi)發(fā)框架。通過(guò)實(shí)驗(yàn)證明,該軟件開(kāi)發(fā)框架與傳統(tǒng)框架相比,可有效提高每秒處理請(qǐng)求的數(shù)量,實(shí)現(xiàn)對(duì)軟件的高效開(kāi)發(fā),同時(shí)該框架可結(jié)合當(dāng)前眾多新興技術(shù)進(jìn)行整合,充分體現(xiàn)框架的靈活性。

關(guān)鍵詞:MVC模式;軟件;開(kāi)發(fā);框架

中圖分類號(hào): TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2021)01-0071-02

當(dāng)前計(jì)算機(jī)研究領(lǐng)域中重點(diǎn)研究話題主要集中在分布式計(jì)算上,自全球廣域網(wǎng)系統(tǒng)出現(xiàn)至今,憑借其低成本、易推廣、高靈活性優(yōu)勢(shì),被計(jì)算機(jī)領(lǐng)域廣泛應(yīng)用,逐漸涉足金融服務(wù)領(lǐng)域、通信領(lǐng)域、交通運(yùn)輸領(lǐng)域、軍事領(lǐng)域當(dāng)中。隨著全球廣域網(wǎng)軟件的開(kāi)發(fā)技術(shù)不斷成熟,研究人員也在不斷尋找更多簡(jiǎn)單[1]、易維護(hù)的方式進(jìn)行軟件應(yīng)用的開(kāi)發(fā),尤其是在前端頁(yè)面呈現(xiàn)上,出現(xiàn)了多種軟件開(kāi)發(fā)前端頁(yè)面開(kāi)發(fā)框架。一方面,這些軟件開(kāi)發(fā)框架的應(yīng)用有利于人們更加容易的開(kāi)發(fā)多種功能,形成更加先進(jìn)的系統(tǒng)平臺(tái)。另一方面,軟件開(kāi)發(fā)框架的應(yīng)用也為系統(tǒng)平臺(tái)的集成化和開(kāi)放化提供更加便利的條件。因此通過(guò)更加合理的方式對(duì)軟件開(kāi)發(fā)框架進(jìn)行運(yùn)用,可以充分發(fā)揮框架所提供的服務(wù)作用,進(jìn)一步提高軟件開(kāi)發(fā)的效率和軟件開(kāi)發(fā)的質(zhì)量水平,保證系統(tǒng)各項(xiàng)性能的穩(wěn)定性[2]。MVC模式是一種通過(guò)模型、視圖、控制器實(shí)現(xiàn)軟件設(shè)計(jì)的模式,是一種利用業(yè)務(wù)邏輯、數(shù)據(jù)和界面顯示分離技術(shù)形成的組織代碼。MVC模式的設(shè)計(jì)思路逐漸滲入軟件開(kāi)發(fā)框架的設(shè)計(jì)當(dāng)中,在進(jìn)行語(yǔ)言開(kāi)發(fā)、框架運(yùn)用、系統(tǒng)開(kāi)發(fā)的過(guò)程中只有充分了解MVC模式設(shè)計(jì)思想的深層次含義,還能夠更加有效地理解各類軟件開(kāi)發(fā)框架的設(shè)計(jì)原理,并在對(duì)應(yīng)用模塊進(jìn)行分析,提供原型分析思路基于此,本文開(kāi)展MVC模式下的軟件開(kāi)發(fā)框架設(shè)計(jì)。

1 MVC模式下的軟件開(kāi)發(fā)框架設(shè)計(jì)

1.1 基于多種視圖技術(shù)的軟件視圖展示

針對(duì)不同軟件開(kāi)發(fā)的需要,在對(duì)其框架進(jìn)行設(shè)計(jì)時(shí)結(jié)合多種視圖技術(shù),對(duì)軟件視圖展示進(jìn)行設(shè)計(jì)。展示頁(yè)面主要包括licenseinfoConetent、jsp頁(yè)面、license.jsp頁(yè)面、mathematical logic.jsp頁(yè)面、Physical view.jsp頁(yè)面、circumstances.jsp頁(yè)面等[3]。其中將第一種頁(yè)面設(shè)計(jì)作為主頁(yè)面,用于對(duì)軟件使用者提供增、刪、改、查詢等操作功能;將第二種頁(yè)面設(shè)計(jì)作為輔助頁(yè)面,用于對(duì)各類許可證的詳細(xì)信息展示;將第三種頁(yè)面設(shè)計(jì)作為數(shù)學(xué)邏輯頁(yè)面,用于在進(jìn)行面向?qū)ο蟮脑O(shè)計(jì)方法時(shí),實(shí)現(xiàn)對(duì)對(duì)象模型的展示;將第四種頁(yè)面設(shè)計(jì)作為物理視圖頁(yè)面,用于描述軟件映射到相應(yīng)硬件設(shè)備的過(guò)程中,并反映在分布方面;將第五種頁(yè)面設(shè)計(jì)作為場(chǎng)景視圖頁(yè)面,用于對(duì)軟件在開(kāi)發(fā)環(huán)境中對(duì)靜態(tài)組織進(jìn)行描述和展示[4]。除此之外,軟件開(kāi)發(fā)框架中的視圖展示不僅包含對(duì)編寫(xiě)程序的展示,也包含可直接為用戶提供第三方SDK或者現(xiàn)成的框架、類庫(kù)以及開(kāi)發(fā)的系統(tǒng)將運(yùn)行于其上的中間件展示。不同軟件視圖展示頁(yè)面之間不是相互獨(dú)立的,是從不同角度反映一個(gè)軟件系統(tǒng)的實(shí)際特征,因此在設(shè)計(jì)過(guò)程中要將所有展示頁(yè)面融合在一起,形成完整的軟件系統(tǒng)。利用velocity 網(wǎng)頁(yè)程序設(shè)計(jì)技術(shù)、java服務(wù)器頁(yè)面技術(shù),將軟件視圖展示看作HTML超文本標(biāo)記語(yǔ)言界面[5]。利用計(jì)算機(jī)本身自帶記事本進(jìn)行編寫(xiě),將文件存儲(chǔ)為.htm或.html擴(kuò)展名,方便后續(xù)瀏覽器對(duì)文本直接解釋并執(zhí)行。在利用Srtuts框架中的Taglib標(biāo)簽庫(kù),將視圖代碼與程序邏輯代碼完全分隔開(kāi),得到清晰的視圖代碼顯示。

1.2 任務(wù)分發(fā)控制器選擇

任務(wù)分發(fā)控制器是從本文上述基于多種視圖技術(shù)的軟件視圖展示層接收開(kāi)發(fā)用戶提出的相應(yīng)請(qǐng)求數(shù)據(jù)信息開(kāi)始,由控制器將全部數(shù)據(jù)信息整合控制,再由控制器決定將符合相應(yīng)條件的請(qǐng)求分派到各個(gè)模型當(dāng)中。在經(jīng)過(guò)任務(wù)模型處理后,將數(shù)據(jù)返回到控制器當(dāng)中,并通過(guò)控制器再次決定下一步進(jìn)行的操作或轉(zhuǎn)換到另一個(gè)控制器模型當(dāng)中[6]。軟件開(kāi)發(fā)框架中的任務(wù)分發(fā)控制器主要作用是針對(duì)開(kāi)發(fā)動(dòng)作以及對(duì)配置文件進(jìn)行設(shè)計(jì),為了清晰地將模塊與軟件系統(tǒng)其他相關(guān)模塊之間的結(jié)構(gòu)關(guān)系劃分,并達(dá)到代碼的充分作用。本文選用動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)、開(kāi)發(fā)動(dòng)作的比例為1:1的任務(wù)分發(fā)控制器。首先選擇一個(gè)編碼轉(zhuǎn)換類,用于實(shí)現(xiàn)與filter編寫(xiě)過(guò)濾器接口之間的連接,并在全球廣域網(wǎng)當(dāng)中進(jìn)行簡(jiǎn)單配置,從而在根本上解決框架內(nèi)中文讀取和顯示的問(wèn)題。

再利用MVC模式下的內(nèi)置核心控制器組件作為任務(wù)分布控制器的核心組件,通過(guò)對(duì)軟件開(kāi)發(fā)文件的訪問(wèn),獲取開(kāi)發(fā)映射的對(duì)象,制定一個(gè)完整的任務(wù)分發(fā)控制器操作流程。為了實(shí)現(xiàn)更好的導(dǎo)航效果,在文件當(dāng)中對(duì)開(kāi)發(fā)用戶進(jìn)行注冊(cè),并在相應(yīng)標(biāo)簽當(dāng)中定義不同信息對(duì)應(yīng)的路徑,并在標(biāo)簽中將信息、類路徑轉(zhuǎn)向頁(yè)面[7]。最終由任務(wù)分發(fā)控制器使用SimpleAsyncTaskExecutor隨項(xiàng)目啟動(dòng)時(shí)初始化異步調(diào)度的任務(wù),通過(guò)配置的異步調(diào)度任務(wù)創(chuàng)建守護(hù)進(jìn)程,依賴守護(hù)進(jìn)程來(lái)初始化ExecutorService線程池和BlockingQueue阻塞隊(duì)列,以守護(hù)進(jìn)程的線程從數(shù)據(jù)庫(kù)讀取待處理數(shù)據(jù)放入隊(duì)列,線程池創(chuàng)建線程作為消費(fèi)者去讀消息并進(jìn)行業(yè)務(wù)處理。

1.3 基于MVC模式下的軟件開(kāi)發(fā)業(yè)務(wù)邏輯處理

在MVC模式下,針對(duì)軟件開(kāi)發(fā)框架的業(yè)務(wù)邏輯處理進(jìn)行設(shè)計(jì),選用當(dāng)前普遍應(yīng)用的EJB組件技術(shù)實(shí)現(xiàn)本文業(yè)務(wù)邏輯處理。在EJB組件當(dāng)中包含了所有業(yè)務(wù)處理流程,例如增、刪、修改、查詢等。當(dāng)業(yè)務(wù)邏輯發(fā)生改變時(shí),只需要通過(guò)修改Bean中的邏輯方案即可維護(hù)軟件程序代碼。在進(jìn)行與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)信息交互時(shí),設(shè)計(jì)一個(gè)通用型的數(shù)據(jù)庫(kù)訪問(wèn)類,通過(guò)標(biāo)準(zhǔn)Java命名系統(tǒng)接口找出數(shù)據(jù)具體來(lái)源,再通過(guò)Source定位到連接池,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的實(shí)時(shí)訪問(wèn)。利用業(yè)務(wù)邏輯處理,將常用的數(shù)據(jù)庫(kù)操作進(jìn)行封裝,例如數(shù)據(jù)庫(kù)連接、執(zhí)行操作以及斷開(kāi)數(shù)據(jù)庫(kù)連接等。在實(shí)現(xiàn)與數(shù)據(jù)庫(kù)之間的實(shí)時(shí)訪問(wèn)后,只需要通過(guò)時(shí)序化該業(yè)務(wù)邏輯即可方便日后對(duì)數(shù)據(jù)庫(kù)進(jìn)行間接訪問(wèn)[8]。通過(guò)上述操作,實(shí)現(xiàn)軟件開(kāi)發(fā)框架的程序模塊化,從而提高代碼在框架當(dāng)中的重要性。具體操作步驟為:第一步,由用戶提出*.do的HTTp請(qǐng)求;第二步,由ActionServlet模塊獲取映射;第三步,由licenseForm對(duì)數(shù)據(jù)進(jìn)行封裝處理,并檢查數(shù)據(jù)信息的合法性;第四步,將封裝后的數(shù)據(jù)信息返回到licenseForm模塊當(dāng)中并再次獲取映射;第五步,進(jìn)入到licenseAction模塊中完成對(duì)軟件系統(tǒng)操作日志的填寫(xiě);第六步,由licenseAction模塊提出業(yè)務(wù)調(diào)用,并發(fā)送到DeviceInfoBean模塊中;第七步,由DeviceInfoBean模塊按照相應(yīng)的業(yè)務(wù)邏輯對(duì)業(yè)務(wù)進(jìn)行處理,并提交相應(yīng)的數(shù)據(jù)庫(kù)交互請(qǐng)求;第八步,由DBConnect模塊與數(shù)據(jù)庫(kù)建立交互,并獲取相應(yīng)的數(shù)據(jù)信息;第九步,依次按照上述順序返回相應(yīng)的業(yè)務(wù)數(shù)據(jù)、操作結(jié)果和頁(yè)面轉(zhuǎn)向映射;第十步,將所有操作結(jié)果返回,并定位到具體的java服務(wù)器頁(yè)面當(dāng)中,得帶下一次請(qǐng)求開(kāi)始。通過(guò)上述業(yè)務(wù)邏輯處理不僅可以達(dá)到軟件開(kāi)發(fā)系統(tǒng)的各項(xiàng)要求,同時(shí)能夠更加成功的分解不同模塊當(dāng)中有關(guān)商業(yè)邏輯、視圖邏輯或表現(xiàn)邏輯的代碼。從而使其具備一定的重用性和可擴(kuò)展性,更有利于后續(xù)軟件開(kāi)發(fā)過(guò)程中的分工合作,并保證維護(hù)的方便、快捷。

2 實(shí)驗(yàn)論證分析

2.1 實(shí)驗(yàn)準(zhǔn)備

本文選用某一軟件開(kāi)發(fā)程序編寫(xiě)測(cè)試用例,分別利用傳統(tǒng)軟件開(kāi)發(fā)框架與本文提出的軟件開(kāi)發(fā)框架,結(jié)合相同的測(cè)試工具對(duì)本文框架的各項(xiàng)性能展開(kāi)實(shí)驗(yàn)研究,并對(duì)設(shè)計(jì)初期制定的目標(biāo)達(dá)成情況進(jìn)行檢驗(yàn)。測(cè)試用例中主要包含項(xiàng)目配置、視圖渲染、文件緩存、Action類創(chuàng)建等操作。采用黑盒模式,對(duì)框架的基本開(kāi)發(fā)功能進(jìn)行驗(yàn)證,選擇軟件開(kāi)發(fā)中常見(jiàn)的兩種功能的測(cè)試情況作為代表性說(shuō)明,測(cè)試對(duì)象為:輸入過(guò)濾、單一入口。測(cè)試用例1:直接由URL對(duì)類文件訪問(wèn);測(cè)試用例2:直接由URL對(duì)視圖模塊訪問(wèn);測(cè)試用例3:由URL進(jìn)行加模塊、操作、參數(shù)訪問(wèn);測(cè)試用例4:正常模式下進(jìn)行SQL參數(shù)注入。實(shí)驗(yàn)的測(cè)試環(huán)境為:CPU(Intel Core i6 850)3.68GHz x6;8GB隨機(jī)存取存儲(chǔ)器;1000GB 8400rpm個(gè)人計(jì)算機(jī)存儲(chǔ)設(shè)備;XHP性能分析工具。

2.2 實(shí)驗(yàn)結(jié)果與分析

將本文軟件開(kāi)發(fā)框架與傳統(tǒng)軟件開(kāi)發(fā)框架,針對(duì)四種不同測(cè)試用例完成開(kāi)發(fā)的實(shí)驗(yàn)結(jié)果進(jìn)行記錄,并將不同框架中每秒處理請(qǐng)求數(shù)進(jìn)行對(duì)比,繪制成如表1所示。

表1中,本文軟件開(kāi)發(fā)框架每秒處理請(qǐng)求數(shù)均達(dá)到3000個(gè)/s以上,而傳統(tǒng)軟件開(kāi)發(fā)框架僅可實(shí)現(xiàn)每秒800~900個(gè)左右請(qǐng)求數(shù)處理。因此,通過(guò)實(shí)驗(yàn)證明,本文設(shè)計(jì)的軟件開(kāi)發(fā)框架可實(shí)現(xiàn)對(duì)軟件開(kāi)發(fā)用戶更加快速的響應(yīng),滿足設(shè)計(jì)者對(duì)框架的性能需要。

3 結(jié)束語(yǔ)

當(dāng)前互聯(lián)網(wǎng)的快速發(fā)展使得全球廣域網(wǎng)項(xiàng)目被應(yīng)用到各個(gè)行業(yè)領(lǐng)域當(dāng)中,同時(shí)也影響著人們的日常生活和工作。本文利用MVC模式下的設(shè)計(jì)思路,提出一種全新的軟件開(kāi)發(fā)框架。該框架在實(shí)際應(yīng)用可以為設(shè)計(jì)者提供更加清晰的框架結(jié)構(gòu),并且具有一定的可擴(kuò)展性。與合理的用戶實(shí)踐檢驗(yàn)體系結(jié)合,可以更加從容地處理軟件開(kāi)發(fā)過(guò)程中存在的諸多細(xì)節(jié)問(wèn)題,為軟件開(kāi)發(fā)的質(zhì)量提供保障。

參考文獻(xiàn):

[1] 李博佳,王敏,張昕宇,等.基于動(dòng)態(tài)傳熱分析的平板型太陽(yáng)能集熱器設(shè)計(jì)軟件開(kāi)發(fā)[J].建設(shè)科技,2020,41(15):17-20,24.

[2] 劉大可,魏冰陽(yáng),鄧效忠,等.基于SYSWARE.IDE工業(yè)互聯(lián)網(wǎng)平臺(tái)的齒輪傳動(dòng)設(shè)計(jì)軟件開(kāi)發(fā)[J].機(jī)械傳動(dòng),2020,44(8):92-97.

[3] 郝寶新,周志成,曲廣吉,等. 桁架結(jié)構(gòu)拓?fù)鋬?yōu)化系統(tǒng)軟件開(kāi)發(fā)及其在大型天線安裝桁架設(shè)計(jì)中的應(yīng)用[J]. 航天器環(huán)境工程,2020,37(1):73-80.

[4] 蔡洪濤. 基于Unity3D軟件開(kāi)發(fā)虛擬仿真項(xiàng)目跨平臺(tái)部署方法的研究[J].科技傳播,2020,12(11):157-158.

[5] 王真. 版本控制工具在軟件開(kāi)發(fā)項(xiàng)目管理中的應(yīng)用——以GIT為例[J].項(xiàng)目管理技術(shù),2020,18(6):131-134.

[6] 李斌.基于華為DevCloud的計(jì)算機(jī)軟件項(xiàng)目實(shí)訓(xùn)課程創(chuàng)新性實(shí)踐[J].信息技術(shù)與信息化,2019,24(12):30-32.

[7] 彭芳.從時(shí)代技術(shù)演化角度看1+xWeb前端證書(shū)與Web框架技術(shù)的深度聯(lián)系[J].信息記錄材料,2020,21(7):137-138.

[8] 周飚.迭代式編程演示教學(xué)法在應(yīng)用軟件開(kāi)發(fā)課程教學(xué)中的應(yīng)用[J].中國(guó)管理信息化,2020,23(14):221-222.

【通聯(lián)編輯:李雅琪】

猜你喜歡
開(kāi)發(fā)
軟件開(kāi)發(fā)信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
淺談動(dòng)力總成騾子車開(kāi)發(fā)方法
汽車科技(2016年5期)2016-11-14 08:04:56
高中歷史教學(xué)中對(duì)歷史圖片的開(kāi)發(fā)及實(shí)際應(yīng)用
考試周刊(2016年85期)2016-11-11 01:57:37
在線投稿與編輯系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)
河南方言文化資源的保護(hù)及其開(kāi)發(fā)利用的研究
遵義紅色旅游開(kāi)發(fā)對(duì)策研究
基于J2EE和Ionic的ITer學(xué)習(xí)APP設(shè)計(jì)與開(kāi)發(fā)
單片機(jī)在電子技術(shù)中的應(yīng)用和開(kāi)發(fā)
主站蜘蛛池模板: 亚洲精品成人福利在线电影| 婷婷综合在线观看丁香| 日韩无码黄色网站| 中文字幕 日韩 欧美| 天堂成人在线视频| 日韩久草视频| 欧美乱妇高清无乱码免费| 国产精品第5页| 精品人妻一区二区三区蜜桃AⅤ| 欧美国产精品不卡在线观看| 亚洲五月激情网| 3344在线观看无码| 久久 午夜福利 张柏芝| 中文字幕无码制服中字| 欧亚日韩Av| 日本久久久久久免费网络| 国产麻豆精品久久一二三| 亚洲欧美不卡视频| 91福利一区二区三区| 美女视频黄频a免费高清不卡| 国产成人免费视频精品一区二区| 天天躁夜夜躁狠狠躁躁88| 亚洲国模精品一区| 超碰精品无码一区二区| 中国一级特黄大片在线观看| 亚洲精品无码抽插日韩| 国产一区在线观看无码| 制服丝袜国产精品| 成人一级黄色毛片| 制服丝袜亚洲| 国产原创自拍不卡第一页| 综合久久久久久久综合网| 日韩美女福利视频| 国产00高中生在线播放| 久久精品国产999大香线焦| 精品视频一区在线观看| 久久精品最新免费国产成人| 久久人搡人人玩人妻精品| 亚洲成人动漫在线观看| 99久久精品免费视频| 精品视频福利| 乱码国产乱码精品精在线播放| 91麻豆精品国产高清在线| 男人天堂伊人网| 全部免费毛片免费播放 | 久久综合九九亚洲一区| 国产精品冒白浆免费视频| 久久精品国产亚洲AV忘忧草18| 国产主播在线一区| 欧美三級片黃色三級片黃色1| 思思热在线视频精品| 亚洲欧洲一区二区三区| 美女无遮挡被啪啪到高潮免费| 天天躁夜夜躁狠狠躁图片| 九九这里只有精品视频| 亚洲无限乱码一二三四区| 国产在线观看第二页| 午夜一区二区三区| 免费国产不卡午夜福在线观看| 亚洲AV无码一二区三区在线播放| 亚洲欧美人成电影在线观看| 亚洲欧美一区二区三区图片| 99热这里只有精品在线播放| 亚洲中文字幕23页在线| 日韩国产高清无码| 婷婷色婷婷| 国产浮力第一页永久地址| 成年午夜精品久久精品| 欧美成人A视频| 欧美精品一二三区| 国产精品99久久久| 中国国语毛片免费观看视频| 男人天堂伊人网| 国产精品冒白浆免费视频| 99久久国产精品无码| 91久久偷偷做嫩草影院免费看| 亚洲伊人久久精品影院| 亚洲AⅤ综合在线欧美一区| 青青青国产免费线在| 一级毛片免费观看不卡视频| 国产在线八区| 成人免费视频一区|