• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      策略設(shè)計(jì)模式在實(shí)驗(yàn)耗材Web系統(tǒng)中的應(yīng)用

      2020-06-19 08:45:58虞泉
      軟件導(dǎo)刊 2020年4期

      摘要:隨著互聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等技術(shù)的發(fā)展,對(duì)軟件可擴(kuò)展性、可維護(hù)性、可復(fù)用性等提出了越來越高的要求。為更好地構(gòu)建一個(gè)可擴(kuò)展性、可維護(hù)性、可復(fù)用性較高的低值實(shí)驗(yàn)耗材管理Web系統(tǒng),結(jié)合系統(tǒng)功能,以Django框架為基礎(chǔ),將策略設(shè)計(jì)模式應(yīng)用于系統(tǒng)設(shè)計(jì)中。策略設(shè)計(jì)模式加快了系統(tǒng)開發(fā)速度,方便系統(tǒng)功能擴(kuò)展與維護(hù),代碼復(fù)用性高,降低了系統(tǒng)耦合性,增強(qiáng)了系統(tǒng)內(nèi)聚性。經(jīng)測(cè)試,該系統(tǒng)運(yùn)行可靠,提高了實(shí)驗(yàn)耗材管理效率。

      關(guān)鍵詞:策略設(shè)計(jì)模式;實(shí)驗(yàn)耗材管理;Django框架

      DOI: 10. 11907/rjdk.192507

      開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

      中圖分類號(hào):TP319

      文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1672-7800(2020)004-0189-05

      0 引言

      隨著信息技術(shù)的不斷發(fā)展,利用現(xiàn)代信息技術(shù)手段,特別是充分結(jié)合大數(shù)據(jù)技術(shù)、移動(dòng)互聯(lián)技術(shù)、數(shù)據(jù)庫技術(shù)等物聯(lián)網(wǎng)技術(shù),能為實(shí)驗(yàn)耗材管理提供技術(shù)支持,以更好地發(fā)揮低值耗材的經(jīng)濟(jì)效益;新技術(shù)的出現(xiàn),導(dǎo)致耗材管理業(yè)務(wù)需求不斷變化。耗材管理涉及實(shí)驗(yàn)項(xiàng)目種類多,實(shí)驗(yàn)器材數(shù)量大,對(duì)耗材管理的完整性、靈活性要求高,耗材查詢、盤點(diǎn)、統(tǒng)計(jì)等基本功能處理繁鎖,程序開發(fā)工作量也相應(yīng)增加。實(shí)驗(yàn)耗材Web管理系統(tǒng)是“資產(chǎn)管理系統(tǒng)”的重要組成部分,為學(xué)校資產(chǎn)管理提供便捷、強(qiáng)大的管理方案,耗材采購、入庫、出庫、盤點(diǎn)、借出、歸還等功能與資產(chǎn)管理有共同點(diǎn)。但是,由于耗材自身消耗較大,其與傳統(tǒng)資產(chǎn)管理有很大區(qū)別。因此,實(shí)現(xiàn)耗材Web管理系統(tǒng)與資產(chǎn)管理系統(tǒng)之間數(shù)據(jù)共享及功能維護(hù)是程序設(shè)計(jì)的重點(diǎn)。

      實(shí)驗(yàn)耗材Web管理系統(tǒng)管理對(duì)象種類繁雜,業(yè)務(wù)量大,涉及到耗材管理、教學(xué)管理、實(shí)驗(yàn)設(shè)備管理、資產(chǎn)管理、采購管理等業(yè)務(wù)。為實(shí)現(xiàn)系統(tǒng)使用簡(jiǎn)單、方便的目標(biāo),可充分利用物聯(lián)網(wǎng)技術(shù)、移動(dòng)互聯(lián)技術(shù)和人工智能技術(shù),實(shí)現(xiàn)相關(guān)業(yè)務(wù)功能。物聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)與人工智能技術(shù)的日新月異,在為耗材管理提供更好技術(shù)支持的同時(shí),其功能業(yè)務(wù)也需作適應(yīng)性改變。耗材管理業(yè)務(wù)需求主要隨物聯(lián)網(wǎng)、人工智能新技術(shù)的變化而變化,管理系統(tǒng)智能化、個(gè)性化要求提高,軟件設(shè)計(jì)必須重點(diǎn)考慮可維護(hù)性、可擴(kuò)展性、可重用性[1],使系統(tǒng)功能適應(yīng)用戶環(huán)境,即時(shí)維護(hù)和擴(kuò)展,最大程度降低軟件設(shè)計(jì)隨功能變更而增加的維護(hù)難度。

      針以上問題,本文對(duì)系統(tǒng)功能需求及未來功能擴(kuò)展進(jìn)行全面分析與預(yù)測(cè),設(shè)計(jì)一種功能模塊可擴(kuò)展性強(qiáng)、維護(hù)性高及代碼重用性好的實(shí)驗(yàn)耗材Web管理系統(tǒng),減少軟件開發(fā)成本,縮短開發(fā)時(shí)間,提高系統(tǒng)的維護(hù)性、擴(kuò)展性,以提高軟件質(zhì)量和開發(fā)效率。

      1 耗材管理系統(tǒng)關(guān)鍵技術(shù)

      ( l)Django是一個(gè)開源的Web應(yīng)用框架,其MTC模式與經(jīng)典MVC框架模式相對(duì)應(yīng)[2],使用Python語言設(shè)計(jì)完成。Django可以很好地使用Python功能強(qiáng)大的第三方插件,甚至可以在其平臺(tái)上方便地開發(fā)新工具包,主要目的是簡(jiǎn)便、快速地開發(fā)數(shù)據(jù)庫驅(qū)動(dòng)的Web系統(tǒng)。Django可以很好地適配第三方插件,多個(gè)組件可以很方便地以插件形式服務(wù)于整個(gè)框架,使Django具有很強(qiáng)的可擴(kuò)展性。

      (2)設(shè)計(jì)模式。描述如何利用面向?qū)ο蟮幕靖拍詈蜋C(jī)制解決可擴(kuò)展的軟件設(shè)計(jì)中常出現(xiàn)的問題,并針對(duì)設(shè)計(jì)問題給出可復(fù)用方案[3-6]。此解決方案對(duì)反復(fù)出現(xiàn)的設(shè)計(jì)結(jié)構(gòu)進(jìn)行識(shí)別和抽象,是軟件設(shè)計(jì)人員在面向?qū)ο筌浖O(shè)計(jì)中成功解的記錄與提煉,如觀察者模式、工廠模式、經(jīng)典MVC模式等。通過使用這些設(shè)計(jì)模式,便于簡(jiǎn)化軟件設(shè)計(jì)過程,提高軟件設(shè)計(jì)效率,降低軟件復(fù)雜度[7-12]。

      (3)策略模式。它定義了一系列算法,并將每個(gè)算法封裝起來,使它們可以相互替換,且算法的變化不會(huì)影響使用算法的客戶。利用此模式可使算法的變化獨(dú)立于使用客戶,把算法使用責(zé)任和算法實(shí)現(xiàn)分割開來,以降低代碼的耦合性。

      (4)適配器模式。目的是將一個(gè)類接口轉(zhuǎn)變?yōu)榭蛻舳四繕?biāo)接口,從而使因不匹配而無法工作的兩個(gè)類能一起工作,適配器又分為類適配器和對(duì)象適配器[13-14]。

      2 實(shí)驗(yàn)耗材Web管理系統(tǒng)業(yè)務(wù)分析

      對(duì)實(shí)驗(yàn)耗材Web管理系統(tǒng)業(yè)務(wù)進(jìn)行分析,系統(tǒng)功能模塊如圖1所示。

      實(shí)驗(yàn)耗材Web管理系統(tǒng)主要功能是實(shí)現(xiàn)耗材采購管理、耗材管理、實(shí)驗(yàn)室管理、系統(tǒng)維護(hù)管理。

      (1)系統(tǒng)維護(hù)管理是耗材管理的基礎(chǔ),主要完成基本信息管理、二維碼管理、耗材信息管理、耗材庫管理。其中,基本信息管理主要是系統(tǒng)用戶管理和相應(yīng)權(quán)限管理,包括實(shí)驗(yàn)室管理員和師生用戶的分級(jí)管理。因?qū)嶒?yàn)耗材是分部門、分院系、分實(shí)驗(yàn)使用的,故對(duì)耗材使用者管理需精細(xì)到部門管理員、院系管理員、實(shí)驗(yàn)室教師及學(xué)生,達(dá)到對(duì)耗材使用的可追溯性。管理員對(duì)系統(tǒng)中的數(shù)據(jù)擁有增加、刪除、修改、查詢權(quán)限,教師擁有對(duì)實(shí)驗(yàn)及相關(guān)耗材的申請(qǐng)、領(lǐng)取、回庫等權(quán)限,學(xué)生僅有耗材的受限領(lǐng)取權(quán)限。耗材信息管理主要是對(duì)耗材基本信息的管理,如耗材規(guī)格參數(shù)、耗材功能用途信息、類別、數(shù)量等。耗材庫管理主要實(shí)現(xiàn)耗材分類存放管理,主要對(duì)耗材存放的實(shí)驗(yàn)室、柜子、箱子等信息進(jìn)行管理。管理員對(duì)二維碼及條形碼進(jìn)行管理,對(duì)系統(tǒng)涉及到的所有二維碼及條形碼進(jìn)行統(tǒng)計(jì)管理。

      (2)耗材管理。主要用于耗材使用信息管理,這是Web管理系統(tǒng)的核心功能,是耗材采購管理的重要依據(jù),也是耗材信息追蹤的重要環(huán)節(jié)。耗材管理主要包括耗材申領(lǐng)管理、暫存管理、回庫管理、轉(zhuǎn)移管理、盤點(diǎn)管理幾部分,是對(duì)耗材使用人、耗材消耗過程、耗材使用詳細(xì)情況等信息戳的記錄,為耗材統(tǒng)計(jì)分析提供依據(jù)。

      (3)實(shí)驗(yàn)室管理。管理員完成實(shí)驗(yàn)室基本信息量管理、課程基本信息管理、實(shí)驗(yàn)實(shí)訓(xùn)項(xiàng)目管理。其中,實(shí)驗(yàn)實(shí)訓(xùn)項(xiàng)目管理是此部分的重要功能,實(shí)驗(yàn)實(shí)訓(xùn)項(xiàng)目耗材要求是整個(gè)耗材管理系統(tǒng)的依據(jù)和起點(diǎn)。

      (4)耗材采購管理。系統(tǒng)根據(jù)實(shí)驗(yàn)條件、實(shí)驗(yàn)實(shí)訓(xùn)項(xiàng)目及參訓(xùn)學(xué)生總數(shù)情況,計(jì)算統(tǒng)計(jì)一年一度的耗材需求量。各部門及院系管理員根椐教師申報(bào)的實(shí)訓(xùn)項(xiàng)目及庫存,完成耗材計(jì)劃預(yù)算、采購申請(qǐng)、招標(biāo)管理、采購合同、供貨及驗(yàn)收入庫等管理,最終完成耗材庫存管理。

      3 策略設(shè)計(jì)模式技術(shù)分析

      為實(shí)現(xiàn)客戶使用一組功能業(yè)務(wù)而不關(guān)心這些功能業(yè)務(wù)差異,僅需使用它們共同的接口或抽象類即可完成這些不同功能的使用,實(shí)現(xiàn)業(yè)務(wù)需求的改變或增加,即實(shí)現(xiàn)對(duì)一組功能業(yè)務(wù)的單獨(dú)維護(hù)與擴(kuò)展,而不用修改客戶端功能業(yè)務(wù),以提高代碼的可維護(hù)性和可擴(kuò)展性,降低客戶端模塊與功能業(yè)務(wù)的耦合。策略模式可實(shí)現(xiàn)算法使用與具體算法之間的松耦合,提高軟件可維護(hù)性。策略設(shè)計(jì)模式結(jié)構(gòu)如圖2所示。

      策略設(shè)計(jì)模式功能業(yè)務(wù)有3個(gè)重要的類15-16],其角色如下:①環(huán)境功能業(yè)務(wù)類( Context):系統(tǒng)調(diào)用的功能業(yè)務(wù);②抽象功能業(yè)務(wù)策略接口( AbstrctStrategy):需要適配統(tǒng)一抽象功能,為環(huán)境功能業(yè)務(wù)類提供統(tǒng)一的訪問接口;③具體功能業(yè)務(wù)策略類組( ConcreteStrategy):-組核心功能業(yè)務(wù),實(shí)現(xiàn)相關(guān)具體功能業(yè)務(wù)。

      對(duì)于策略設(shè)計(jì)模式,主要適用如下應(yīng)用設(shè)計(jì):在系統(tǒng)中有許多類C oncreteStrategy,這些類的業(yè)務(wù)行為各不相同;系統(tǒng)功能業(yè)務(wù)需要在幾種算法中,或可能未來需要的幾種算法中選擇適用的某一種算法,這樣可以把這些不同算法在不同類中具體實(shí)現(xiàn)或未來再實(shí)現(xiàn);這些算法具有統(tǒng)一接口AbstrctStrategy,司使用面向?qū)ο蟮亩鄳B(tài)原則服務(wù)于系統(tǒng)使用類C ontext。使用此統(tǒng)一接口,選擇應(yīng)用具體算法類,以屏蔽不同算法中具體數(shù)據(jù)或算法差異,避免接觸與算法有關(guān)的復(fù)雜數(shù)據(jù),使接口調(diào)用簡(jiǎn)單化,實(shí)現(xiàn)算法細(xì)節(jié)[7]。

      策略設(shè)計(jì)模式功能算法具有較強(qiáng)的獨(dú)立性、復(fù)用性和可擴(kuò)展性。模式提供了一種替代繼承的設(shè)計(jì)方法,以保持繼承的優(yōu)點(diǎn)即代碼復(fù)用,增強(qiáng)設(shè)計(jì)維護(hù)的靈活性,即算法獨(dú)立性和可擴(kuò)展性,避免在程序中使用多重條件轉(zhuǎn)移語句,使設(shè)計(jì)遵守高內(nèi)聚、低耦合原則。

      4 策略設(shè)計(jì)模式應(yīng)用

      4.1 實(shí)驗(yàn)耗材Web管理系統(tǒng)業(yè)務(wù)設(shè)計(jì)分析

      在實(shí)驗(yàn)耗材Web管理系統(tǒng)中,處理每種基本模塊都會(huì)涉及信息的4大處理功能,即信息查詢處理、信息增加處理、信息修改處理、信息刪除處理,這些信息處理功能分布在不同的功能模塊里,涉及信息數(shù)據(jù)不一樣,處理方式和算法也不盡相同。在耗材信息管理查詢中,僅對(duì)耗材基本信息進(jìn)行查詢;在耗材申領(lǐng)管理查詢時(shí),查詢的信息有耗材基本信息、實(shí)驗(yàn)實(shí)訓(xùn)項(xiàng)目信息、耗材庫信息、課程信息、實(shí)驗(yàn)室基本信息、暫存信息、供貨信息等;耗材管理查詢涉及信息簡(jiǎn)單,耗材申領(lǐng)管理查詢涉及信息多,所以設(shè)計(jì)實(shí)現(xiàn)處理的過程、復(fù)雜度不一樣。

      同理,增加處理、修改處理、刪除處理,在不同功能模塊中,涉及同種處理功能的信息不一樣,算法的實(shí)現(xiàn)就會(huì)存在差異。設(shè)計(jì)實(shí)現(xiàn)時(shí),這些模塊可實(shí)現(xiàn)耗材基本信息管理、二維碼管理、耗材信息管理、耗材庫管理、申領(lǐng)管理,暫存管理、回庫管理、轉(zhuǎn)移管理、盤點(diǎn)管理、實(shí)驗(yàn)室基本信息量管理、課程基本信息管理、實(shí)驗(yàn)實(shí)訓(xùn)項(xiàng)目管理,以及耗材計(jì)劃預(yù)算、采購申請(qǐng)、招標(biāo)管理、采購合同、供貨及驗(yàn)收入庫等等,增加處理、修改處理和刪除處理,需根椐模塊功能的不同而采用具體關(guān)聯(lián)算法處理。

      如果設(shè)計(jì)實(shí)現(xiàn)同種功能使用分支結(jié)構(gòu),會(huì)導(dǎo)致大量代碼重復(fù),結(jié)構(gòu)復(fù)雜,后期維護(hù)、擴(kuò)展難度增大。且隨著新技術(shù)的更新和使用,模塊新功能與舊功能有差異,系統(tǒng)維護(hù)工作量成倍增加。為解決此問題,可采用軟件設(shè)計(jì)模式的策略模式和適配器模式,屏蔽具體模塊及數(shù)據(jù)差異,以降低程序復(fù)雜度,使代碼結(jié)構(gòu)合理、簡(jiǎn)單。

      4.2 策略設(shè)計(jì)模式應(yīng)用分析

      通過策略設(shè)計(jì)模式技術(shù)分析,結(jié)合以上實(shí)驗(yàn)耗材Web管理系統(tǒng)功能業(yè)務(wù)分析及Django框架實(shí)現(xiàn)方式,系統(tǒng)信息4大功能處理抽象為策略設(shè)計(jì)模式的信息功能業(yè)務(wù)策略抽象類AbstrctStrategy。結(jié)合Django框架,根據(jù)實(shí)際設(shè)計(jì)需要,重新命名為InformationHandlelnterface,對(duì)應(yīng)設(shè)計(jì)4個(gè)抽象方法,命名為informationQuery()、informationAdd()、informationModify()、informationDelete().

      具體業(yè)務(wù)功能為申領(lǐng)管理、耗材信息管理、二維碼管理、基本信息管理、實(shí)驗(yàn)實(shí)訓(xùn)項(xiàng)目管理、課程基本信息管理、耗材庫管理、暫存管理、回庫管理、轉(zhuǎn)移管理、盤點(diǎn)管理、實(shí)驗(yàn)室基本信息量維護(hù),耗材計(jì)劃預(yù)算、供貨及驗(yàn)收入庫等,設(shè)計(jì)為具體功能業(yè)務(wù)策略類組ConcreteStrategy。如申領(lǐng)耗材管理類ApplyConsumablesHandle、耗材信息管理ConsumablesInformationManage、基本信息管理子模塊功能中的用戶基本信息管理功能為UserInforManage、用戶權(quán)限管理功能為UsePrivilegeManage、實(shí)驗(yàn)實(shí)訓(xùn)項(xiàng)目管理功能設(shè)計(jì)為ExperimentManage、課程基本信息管理CourseBase-Manage等具體策略業(yè)務(wù)功能,以實(shí)現(xiàn)接口InformationHan-dlelnterface中的統(tǒng)一抽象方法,完成系統(tǒng)的具體業(yè)務(wù)。在實(shí)驗(yàn)耗材Web管理中需根據(jù)具體階段業(yè)務(wù)使用具體功能業(yè)務(wù)策略類,完成具體的系統(tǒng)功能。實(shí)現(xiàn)時(shí)重新命名為InformationHandleManage。當(dāng)具體業(yè)務(wù)功能需擴(kuò)展,僅需動(dòng)態(tài)地選擇增加業(yè)務(wù)功能的查詢、增加、修改、刪除操作,大大提升了系統(tǒng)擴(kuò)展性。

      策略設(shè)計(jì)模式在實(shí)驗(yàn)耗材Web管理系統(tǒng)的部分設(shè)計(jì)結(jié)構(gòu)如圖3所示。

      InformationHandlelnterface是實(shí)現(xiàn)策略設(shè)計(jì)模式抽象功能策略模塊接口,抽象定義實(shí)現(xiàn)實(shí)驗(yàn)耗材Web系統(tǒng)中統(tǒng)一業(yè)務(wù)接口,即信息增加、信息修改、信息刪除、信息查詢。InformationHandleManage實(shí)現(xiàn)了策略設(shè)計(jì)模式中環(huán)境功能模塊類,是使用功能操作服務(wù)的類,據(jù)具體實(shí)現(xiàn)功能業(yè)務(wù)要求選擇使用相關(guān)特定功能,具體使用某一個(gè)Infor-mationHandlelnterface的實(shí)現(xiàn)類對(duì)象,完成系統(tǒng)不同業(yè)務(wù)功能,這樣可避免使用分支語句,降低程序可讀性,且也不用因減少或增加業(yè)務(wù)功能而增加代碼維護(hù)難度。Interface-Handlelnterface的子類是具體操作策略,如在申領(lǐng)管理的實(shí)現(xiàn)類ApplyConsumablesHandle、基本信息管理中用戶基本信息管理的實(shí)現(xiàn)類UserInforManage、耗材信息管理的實(shí)現(xiàn)類ConsumablesInformationManage等不同類的具體實(shí)現(xiàn);若需增加新的業(yè)務(wù)功能,僅需添加相關(guān)的InformationHan-dlelnterface子類即可,這樣可提高設(shè)計(jì)的擴(kuò)展性,最大程度減少系統(tǒng)維護(hù)。

      4.3 策略設(shè)計(jì)模式實(shí)現(xiàn)

      據(jù)德宏師范高等??茖W(xué)校信息學(xué)院實(shí)驗(yàn)耗材Web系統(tǒng)設(shè)計(jì)實(shí)際情況,本文采用Django框架完成系統(tǒng)設(shè)計(jì),以下是實(shí)現(xiàn)功能的部分Pvthon代碼。

      4.3.1 環(huán)境功能業(yè)務(wù)在實(shí)驗(yàn)耗材Web系統(tǒng)中應(yīng)用實(shí)現(xiàn)

      環(huán)境功能使用類InformationHandleManage,通過初始化一_

      init一一(self,information_handle)或設(shè)置方法setlnforma-tionStrategy( self,information_handle),創(chuàng)建或更改具體的業(yè)務(wù)功能操作對(duì)象concreteInfoHandleStrategy,達(dá)到選擇使用具體業(yè)務(wù)類目的。通過使用此對(duì)象中的4個(gè)公共服務(wù)方法getlnformation()、updatelnformation().addlnformation()、deletelnformation(),實(shí)現(xiàn)具體功能。InformationHandleMan-age的部分實(shí)現(xiàn)代碼如下:

      class InformationHandleManage:

      def一一init一一(self,inform ation_handle):

      self.一一concreteInfoHandleStrategy =information_handle

      def setlnformationStrategy( self, information_handle):

      self.一一concreteInfoHandleStrategy=information_handle

      def getlnformation( self):

      return self.~一concretelnfoH andleStrategy.inform ationQ ue ry()

      def updatelnformation( self):

      self.一一concretelnfoHandleSirategy.informationModify()

      def addlnformation( self):

      self.一一concreteInfoHandleStrategy.informationAdd()

      def deletelnformation( self):

      self.一一concreteInfoHandleStrategy.informationDelete()

      4.3.2 抽象功能業(yè)務(wù)策略接口實(shí)現(xiàn)

      Pvthon語言沒有接口,但是Python提供了抽象類,且Pvthon的類支持多繼承,所以可以使用抽象類實(shí)現(xiàn)接口功能,本系統(tǒng)使用Pvthon的抽象類功能實(shí)現(xiàn)系統(tǒng)抽象業(yè)務(wù)策略接口InformationHandlelnterface,實(shí)現(xiàn)代碼如下:

      class InfromationHandlelnterface():

      def informationQuery( self):

      raise NotImplementedError

      def informationAdd( self):

      raise NotImplementedError

      def informationModifv( self):

      raise NotImplementedError

      def informationDelete( self):

      raise NotlmplementedError

      在抽象類中定義統(tǒng)一操作的增加、修改、刪除、查詢4個(gè)抽象方法,即informationAdd( self)、informationModifv( self)、informationDelete( self)、informationQuerv( self),為環(huán)境功能業(yè)務(wù)使用類InformationHandleManage提供服務(wù),同時(shí)為申領(lǐng)管理、耗材信息管理、二維碼管理、基本信息管理、實(shí)驗(yàn)實(shí)訓(xùn)項(xiàng)目管理、課程基本信息管理、耗材庫管理、暫存管理、回庫管理、轉(zhuǎn)移管理等功能提供統(tǒng)一接口。

      4.3.3 實(shí)驗(yàn)耗材Web系統(tǒng)具體功能業(yè)務(wù)策略類實(shí)現(xiàn)

      具體業(yè)務(wù)功能策略類組實(shí)現(xiàn)InfromationHandlelnter-face統(tǒng)一接口,即可為環(huán)境功能業(yè)務(wù)類提供服務(wù)。以申領(lǐng)耗材功能ApplyConsumablesHandle為例,此類繼承Infro-mationHandlelnterface,重載informationQuery、information-Add、informationM odify、informationD elete方法,實(shí)現(xiàn)耗材的申領(lǐng)信息顯示,進(jìn)行獲取、申領(lǐng)耗材,申領(lǐng)耗材修改管理、申領(lǐng)耗材取消。ApplyConsumablesHandle實(shí)現(xiàn)代碼如下:

      class ApplyConsumahlesHandle( InfromationHandlelnterface):

      def informationQuery( self):

      info_handle=UseManagement()

      displayinfolist,

      dispconmlist=info_handle.readExperC on- mD etail( self.apply_id)

      return displayinfolist, dispconmlist

      def informationAdd( self):

      info_handle=UseManagement()

      if self.apply_add_flag= =self._APPLY_ALL_HAND LE:

      info_handle.AddAlllnfo rm ation( self.consumable_list)

      else:

      info_handle.Addo nelnformation( self.consumable_list [0l)

      def informationModify( self):

      info_handle=UseManagement()

      info_handle.Modifylnform ation( self.consumable_list[O])

      def informationDelete( self):

      info_handle=UseManagement()

      info_handle.D eletelnformation( self.apply_id)

      耗材信息管理、二維碼管理、基本信息管理、實(shí)驗(yàn)實(shí)訓(xùn)項(xiàng)目管理、課程基本信息管理、耗材庫管理、暫存管理、回庫管理、轉(zhuǎn)移管理等功能及擴(kuò)展功能實(shí)現(xiàn),類似申領(lǐng)耗材管理功能ApplyConsumablesHandle的實(shí)現(xiàn),主要實(shí)現(xiàn)Infro-mationHandlelnterface中的4個(gè)抽象方法,對(duì)這些功能的維護(hù),也主要是對(duì)這4個(gè)抽象方法實(shí)現(xiàn)的維護(hù)。所以在實(shí)驗(yàn)耗材Web系統(tǒng)中功能維護(hù)及新功能的增加,僅是對(duì)這些具體業(yè)務(wù)功能策略類的修改和增加,而不用去修改抽象功能業(yè)務(wù)策略類InfromationH andlelnterface和環(huán)境功能業(yè)務(wù)類InformationHandleManage中的代碼,提高了可維護(hù)性,降低了功能模塊的耦合度。

      5 設(shè)計(jì)效果

      本文以德宏師范高等??茖W(xué)校信息學(xué)院實(shí)驗(yàn)耗材Web系統(tǒng)設(shè)計(jì)為例,結(jié)合策略設(shè)計(jì)模式、Django框架和MySql數(shù)據(jù)庫技術(shù)完成系統(tǒng)設(shè)計(jì)。使用Django框架技術(shù)常見的三層結(jié)構(gòu)設(shè)計(jì),各層使用模塊方法獨(dú)立,實(shí)現(xiàn)申領(lǐng)耗材管理、耗材信息管理、二維碼管理、基本信息管理、實(shí)驗(yàn)實(shí)訓(xùn)項(xiàng)目管理、課程基本信息管理、耗材庫管理、暫存管理、回庫管理、轉(zhuǎn)移管理等功能。策略設(shè)計(jì)模式的使用,使系統(tǒng)方便實(shí)現(xiàn)業(yè)務(wù)功能擴(kuò)展,降低模式間的耦合度。在系統(tǒng)開發(fā)各階段,維護(hù)方便,節(jié)約時(shí)間,降低了開發(fā)費(fèi)用。

      6 結(jié)語

      策略設(shè)計(jì)模式,主要為系統(tǒng)功能需求變更與增加系統(tǒng)設(shè)計(jì)應(yīng)用場(chǎng)合提供一種有效的軟件設(shè)計(jì)模式。本文針對(duì)低值實(shí)驗(yàn)耗材Web管理應(yīng)用實(shí)際情況,充分利用策略設(shè)計(jì)模式優(yōu)點(diǎn),成功地應(yīng)用到系統(tǒng)設(shè)計(jì)中。實(shí)踐表明,應(yīng)用策略設(shè)計(jì)模式能方便地?cái)U(kuò)展系統(tǒng)功能,增強(qiáng)系統(tǒng)的維護(hù)性,提高系統(tǒng)開發(fā)效率,降低設(shè)計(jì)費(fèi)用,為同類設(shè)計(jì)問題提供了更好的參考。在代碼重用性方面,若能結(jié)合適配器模式或其它設(shè)計(jì)模式,可進(jìn)一步改善系統(tǒng)代碼的重用率。

      參考文獻(xiàn):

      [1]張偉,梅宏.面向特征的軟件復(fù)用技術(shù)——發(fā)展與現(xiàn)狀[J].科學(xué)通報(bào),2014,59(1):21-42.

      [2] 劉紅霞,陸文迪.改進(jìn)的MVC設(shè)計(jì)模式的研究與應(yīng)用[J].計(jì)算機(jī)工程與科學(xué),2015,37(9):1688-1691.

      [3]段群,吳粉俠,歐陽宏基.軟件設(shè)計(jì)模式在目標(biāo)考核系統(tǒng)中的應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用,2017,36(9):60-63。

      [4]鐘睿.設(shè)計(jì)模式在軟件設(shè)計(jì)中的應(yīng)用[J].電子技術(shù)與軟件工程,2018( 14):27-31.

      [5] 莊立偉,衛(wèi)建國(guó),毛留喜.軟件設(shè)計(jì)模式在農(nóng)業(yè)氣象系統(tǒng)開發(fā)中的應(yīng)用[J].應(yīng)用氣象學(xué)報(bào),2011,22(5):162-174.

      [6]劉海巖,鎖志海,呂青,等.設(shè)計(jì)模式及其在軟件設(shè)計(jì)中的應(yīng)用研究[J].西安交通大學(xué)學(xué)報(bào),2005( 10):1043-1047.

      [7]楊靜.設(shè)計(jì)模式在敵我識(shí)別信號(hào)偵測(cè)顯控軟件的應(yīng)用[J].電子設(shè)計(jì)工程,2019,27( 4):38-42.

      [8]蔡岳良.計(jì)算機(jī)軟件設(shè)計(jì)教學(xué)中系統(tǒng)工程方法的應(yīng)用[J].軟件導(dǎo)刊(教育技術(shù)),2017,16(3):19-20.

      [9] 劉凌云.觀察者模式在面向抽象編程中的應(yīng)用[J].計(jì)算機(jī)與數(shù)字工程,2016,44(8):1474-1477,1522.

      [IO] 葛萌,歐陽宏基.工廠設(shè)計(jì)模式的研究與應(yīng)用[J].計(jì)算技術(shù)與自動(dòng)化,2017,36(2):136-140.

      [11]唐永瑞,張達(dá)敏.基于Ajax與MVC模式的信息系統(tǒng)的研究與設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(2):128-131.

      [12]楊斌,張衛(wèi)冬,張利欣,等.基于Ajax的Observer模式客戶端研究[J].計(jì)算機(jī)工程,2010,36( 24):4-5,8.

      [13]戚利娜.適配器模式及其應(yīng)用[J].電子測(cè)試,2017( 11):112-113.

      [14] 羅錦坤,元昌安.軟件審計(jì)適配器模式研究及應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,24( 12):183-187.

      [15] 馬媛,趙智寶.基于策略模式數(shù)據(jù)粗化算法類庫設(shè)計(jì)與實(shí)現(xiàn)[J]軟件導(dǎo)刊,2009,8(12):44-46.

      [16] [美]ERICH CAMMA.設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)[M].北京:機(jī)械工業(yè)出版社,2019.

      (責(zé)任編輯:杜能銅)

      作者簡(jiǎn)介:虞泉(1982-),男,碩士,德宏師范高等??茖W(xué)校信息學(xué)院、云南師范大學(xué)民族教育信息化教育部重點(diǎn)實(shí)驗(yàn)室講師,研究方向?yàn)檐浖_發(fā)、數(shù)據(jù)分析。

      治县。| 桐乡市| 贵溪市| 板桥市| 政和县| 武威市| 龙胜| 偏关县| 岑溪市| 兴山县| 青田县| 卢龙县| 成武县| 历史| 新津县| 淮滨县| 安庆市| 阿拉善盟| 筠连县| 汝城县| 南涧| 诸城市| 文昌市| 滕州市| 永昌县| 湖南省| 西藏| 彭阳县| 黑河市| 临湘市| 溧水县| 贵溪市| 通江县| 蓝田县| 禹州市| 自贡市| 福建省| 天门市| 广水市| 屏东县| 东光县|