基于策略模式的精品課程網(wǎng)站設計論文
一、精品課程網(wǎng)站的系統業(yè)務(wù)分析與設計
以上幾個(gè)階段的功能,若單獨設計和維護,勢必會(huì )增加系統設計維護的復雜性,也導致維護設計的重復性。所以,可設計統一的接口,提供查詢(xún)、增加、修改、刪除功能接口,根據處理具體模塊功能,使用不同的策略實(shí)現這些功能接口;如精品課程建設基本內容展示和管理,僅需具體實(shí)現這一接口即可。同時(shí),業(yè)務(wù)模塊增加,也僅實(shí)現這一接口,就可適應功能擴展,再如交互功能,在線(xiàn)考試系統的增加,也只需增加相關(guān)具體業(yè)務(wù)功能,實(shí)現這一接口。通過(guò)這樣的設計,降低功能模塊間的耦合度,提高模塊的聚合度,提高網(wǎng)站擴展性,也抽高網(wǎng)站應對功能變化的應變能力,達到降低網(wǎng)站的設計維護的工作量,實(shí)現網(wǎng)站功能擴展性。
二、策略模式(Strategy)分析
策略模式用意是為實(shí)現客戶(hù)(Context)使用這些不同的功能模塊時(shí),不需關(guān)心這些功能模塊的不同,僅需使用它們共同的接口,即可完成這些不同功能模塊的使用。這樣,在一定程應上,可以實(shí)現這一組功能模塊的單獨維護與擴展,而不用維護客戶(hù)端功能模塊,以提高代碼的可維護性和可擴展性,降低客戶(hù)端模塊與一組功能模塊的耦合度。
1策略設計模式各功能模塊的角色策略設計模式各功能模塊的角色如下:
。1)環(huán)境功能模塊角色(Context):客戶(hù)所期待的功能模塊。
。2)抽象功能策略模塊角色(InterfaceStrategy):需要適配的接口模塊,為環(huán)境功能模塊提供統一的訪(fǎng)問(wèn)接口。
。3)具體功能策略模塊角色(ConcreteStrategy):核心功能模塊,具體實(shí)現相關(guān)功能模塊。
2策略設計模式的應用場(chǎng)景
對于策略設計模式,主要適用于以下幾種應用場(chǎng)景:
。1)在系統里有許多類(lèi),這些類(lèi)主要是行為各不相同。
。2)系統需求需要在幾種算法中或未來(lái)需要的幾種算法中選擇適用的一種算法。此時(shí),可以把這些不同算法在不同類(lèi)中具體實(shí)現或未來(lái)再具體實(shí)現,同時(shí),這些算法具有統一接口,使用面向對象的多態(tài)原則,系統可以使用此統一的接口,選擇使用相應用的具體算法類(lèi)⑤。
。3)使用統一算法時(shí),想屏蔽具體數據差異時(shí),策略模式可以讓系統調用具體算法時(shí),避免接觸與算法有關(guān)的復雜數據。以達到接口調用的簡(jiǎn)單性。
。4)系統隱藏具體算法的實(shí)現細節。
3策略設計模式的特點(diǎn)
根據以上分析與應用可以得出,策略設計模式具有如下特點(diǎn):
。1)算法的獨立性和可擴展性。策略設計模式提供了一種替代繼承的設計方法,這樣既保持就繼承的優(yōu)點(diǎn)即代碼重用,又增加了設計維護靈活性,即算法獨立性和可擴展性,避免在程序中使用多重條件轉移語(yǔ)句。
。2)在一定程度上遵守高內聚、低偶合設計原則。
三、策略設計模式在精品課程網(wǎng)站設計中的應用
結合精品課程網(wǎng)站業(yè)務(wù)分析及策略模式分析,在精品課程網(wǎng)站管理平臺中,針對早期階段的精品課程建設基本內容管理、中期階段的問(wèn)卷調查管理、在線(xiàn)交流管理及后期階段的在線(xiàn)考試管理等等,都有相應的增加、修改、刪除等統一功能,但它們的具體實(shí)現,如基本內容管理、問(wèn)卷管理等,因其它操作的數據的差異,導致具體操作不相同。故在管理平臺中,需根據具體階段業(yè)務(wù)項目的擴展,動(dòng)態(tài)地選擇不同業(yè)務(wù)的增加、修改、刪除操作方式,完成對應的業(yè)務(wù)功能。這樣業(yè)務(wù)需求的統一與變化,與策略模式思想相一致,故可以選擇策略模式設計網(wǎng)站相關(guān)的功能。策略設計模式在精品課程網(wǎng)站設計結構圖,,InterfaceManageCommand是抽象功能策略模塊接口,它定義了網(wǎng)站各功能中統一業(yè)務(wù)接口增加、修改、刪除、查詢(xún)等接口方法。ManageCommand是環(huán)境功能模塊類(lèi),是需要操作服務(wù)的類(lèi),引用了一個(gè)InterfaceManageCommand的.具體操作實(shí)現類(lèi)對象,具體實(shí)現操作類(lèi)對象由客戶(hù)選擇的相關(guān)功能指定,以完成客戶(hù)按需完成不同業(yè)務(wù)功能,這樣,避免使用分支語(yǔ)句,可判斷用戶(hù)的具體選擇,降低程序可讀性,也不用因減少或增加各階段業(yè)務(wù)功能進(jìn)行維護。InterfaceManageCommand的子類(lèi)是具體操作的策略,如在申報階段的基本內容展示管理類(lèi)BaseContentCommand,使用驗收階段增加的在線(xiàn)答疑類(lèi)InteractCommand、在線(xiàn)問(wèn)卷調查類(lèi)SurveryCommand,后期增加的在線(xiàn)考試類(lèi)TestCommand類(lèi)等,不同類(lèi)的具體操作方法完成具體業(yè)務(wù)的實(shí)際功能;若需增加新的業(yè)務(wù)功能,如在線(xiàn)課程,僅需添加相關(guān)的InterfaceManageCommand的子類(lèi)即可,這樣可提高設計的擴展性,以達到系統動(dòng)態(tài)地適應功能的增加,最大程度地減少系統的維護。針對德宏師范高等專(zhuān)科學(xué)校精品課程網(wǎng)站設計實(shí)際情況,本文主要采用JSP完成網(wǎng)站的設計,以下是所實(shí)現功能的部分JSP代碼。
1環(huán)境功能設計
由于每個(gè)業(yè)務(wù)都有統一的操作(增加、修改、刪除、查詢(xún))功能,在頁(yè)面可以設置相關(guān)操作連接,使用ManageCommand創(chuàng )造具體業(yè)務(wù)對象,以實(shí)現具體業(yè)務(wù)操作。ManageCommand設計,
2管理功能接口設計
管理功能接口InterfaceManageCommand,定義統一的操作方法,為ManageCommand提供統一操作方法。InterfaceManageCommand設計,
3具體業(yè)務(wù)功能策略
每個(gè)具體業(yè)務(wù)功能策略,只要實(shí)現InterfaceManageCommand接口即可,如TestCommand類(lèi),實(shí)現InterfaceManageCommand接口,具體完成考試管理中相關(guān)操作,TestCommand設計代碼,
四、設計效果
本文以德宏師范高等專(zhuān)科學(xué)!八枷氲赖滦摒B與法律基礎”精品課程網(wǎng)站的設計為例,使用JSP和SQLServer2005技術(shù)進(jìn)行開(kāi)發(fā),系統使用Web技術(shù)常見(jiàn)的3層結構設計,各層使用模塊方法獨立設計,實(shí)現精品課程建設網(wǎng)站的內容管理、在線(xiàn)交互、問(wèn)卷調查、在線(xiàn)考試的管理與展示。系統在每個(gè)階段方便地實(shí)現業(yè)務(wù)功能的擴展,對系統實(shí)現、調試、集成等軟件開(kāi)發(fā)階段,維護方便,節約了很多時(shí)間,降低了開(kāi)發(fā)費用。
五、結束語(yǔ)
實(shí)踐說(shuō)明,將策略設計模式應用到系統接口設計中,能有效提高軟件系統設計的效率,提高代碼的利用性和系統的可擴展性。面向對象設計模式的使用,使軟件設計人員可借鑒成功軟件設計的經(jīng)驗,也為軟件架構設計提供更多可行的解決方案。通過(guò)此精品課程網(wǎng)站的運行效果,說(shuō)明該設計模式的實(shí)用價(jià)值,可對同類(lèi)設計問(wèn)題提供參考。
【基于策略模式的課程網(wǎng)站設計論文】相關(guān)文章:
文科類(lèi)網(wǎng)站設計課程教學(xué)模式探究論文09-10
基于互聯(lián)網(wǎng)+的程序設計課程模式探索論文11-14
基于PHP的個(gè)人網(wǎng)站設計與實(shí)現論文11-17
微課程設計模式思考論文11-14
基于PHP的個(gè)人網(wǎng)站設計與實(shí)現論文介紹11-17
利用課程網(wǎng)站輔助理論教學(xué)的模式探析論文01-17
淺談動(dòng)態(tài)網(wǎng)站設計與開(kāi)發(fā)課程過(guò)程性考核模式應用探索論文11-14