博文谷

位置:首頁 > 實用範文 > 論文

基於策略模式的精品課程網站設計論文

論文2.82W

一、精品課程網站的系統業務分析與設計

基於策略模式的精品課程網站設計論文

以上幾個階段的功能,若單獨設計和維護,勢必會增加系統設計維護的複雜性,也導致維護設計的重複性。所以,可設計統一的接口,提供查詢、增加、修改、刪除功能接口,根據處理具體模組功能,使用不同的策略實現這些功能接口;如精品課程建設基本內容展示和管理,僅需具體實現這一接口即可。同時,業務模組增加,也僅實現這一接口,就可適應功能擴展,再如交互功能,在線考試系統的增加,也只需增加相關具體業務功能,實現這一接口。透過這樣的設計,降低功能模組間的耦合度,提高模組的聚合度,提高網站擴展性,也抽高網站應對功能變化的應變能力,達到降低網站的設計維護的工作量,實現網站功能擴展性。

二、策略模式(Strategy)分析

策略模式用意是爲實現客戶(Context)使用這些不同的功能模組時,不需關心這些功能模組的不同,僅需使用它們共同的接口,即可完成這些不同功能模組的使用。這樣,在一定程應上,可以實現這一組功能模組的單獨維護與擴展,而不用維護客戶端功能模組,以提高代碼的可維護性和可擴展性,降低客戶端模組與一組功能模組的耦合度。

1策略設計模式各功能模組的角色策略設計模式各功能模組的角色如下:

(1)環境功能模組角色(Context):客戶所期待的功能模組。

(2)抽象功能策略模組角色(InterfaceStrategy):需要適配的接口模組,爲環境功能模組提供統一的訪問接口。

(3)具體功能策略模組角色(ConcreteStrategy):核心功能模組,具體實現相關功能模組。

2策略設計模式的應用場景

對於策略設計模式,主要適用於以下幾種應用場景:

(1)在系統裏有許多類,這些類主要是行爲各不相同。

(2)系統需求需要在幾種算法中或未來需要的幾種算法中選擇適用的一種算法。此時,可以把這些不同算法在不同類中具體實現或未來再具體實現,同時,這些算法具有統一接口,使用面向對象的多態原則,系統可以使用此統一的.接口,選擇使用相應用的具體算法類⑤。

(3)使用統一算法時,想屏蔽具體數據差異時,策略模式可以讓系統調用具體算法時,避免接觸與算法有關的複雜數據。以達到接口調用的簡單性。

(4)系統隱藏具體算法的實現細節。

3策略設計模式的特點

根據以上分析與應用可以得出,策略設計模式具有如下特點:

(1)算法的獨立性和可擴展性。策略設計模式提供了一種替代繼承的設計方法,這樣既保持就繼承的優點即代碼重用,又增加了設計維護靈活性,即算法獨立性和可擴展性,避免在程序中使用多重條件轉移語句。

(2)在一定程度上遵守高內聚、低偶合設計原則。

三、策略設計模式在精品課程網站設計中的應用

結合精品課程網站業務分析及策略模式分析,在精品課程網站管理平臺中,針對早期階段的精品課程建設基本內容管理、中期階段的問卷調查管理、在線交流管理及後期階段的在線考試管理等等,都有相應的增加、修改、刪除等統一功能,但它們的具體實現,如基本內容管理、問卷管理等,因其它操作的數據的差異,導致具體操作不相同。故在管理平臺中,需根據具體階段業務項目的擴展,動態地選擇不同業務的增加、修改、刪除操作方式,完成對應的業務功能。這樣業務需求的統一與變化,與策略模式思想相一致,故可以選擇策略模式設計網站相關的功能。策略設計模式在精品課程網站設計結構圖,,InterfaceManageCommand是抽象功能策略模組接口,它定義了網站各功能中統一業務接口增加、修改、刪除、查詢等接口方法。ManageCommand是環境功能模組類,是需要操作服務的類,引用了一個InterfaceManageCommand的具體操作實現類對象,具體實現操作類對象由客戶選擇的相關功能指定,以完成客戶按需完成不同業務功能,這樣,避免使用分支語句,可判斷用戶的具體選擇,降低程序可讀性,也不用因減少或增加各階段業務功能進行維護。InterfaceManageCommand的子類是具體操作的策略,如在申報階段的基本內容展示管理類BaseContentCommand,使用驗收階段增加的在線答疑類InteractCommand、在線問卷調查類SurveryCommand,後期增加的在線考試類TestCommand類等,不同類的具體操作方法完成具體業務的實際功能;若需增加新的業務功能,如在線課程,僅需添加相關的InterfaceManageCommand的子類即可,這樣可提高設計的擴展性,以達到系統動態地適應功能的增加,最大程度地減少系統的維護。針對德宏師範高等專科學校精品課程網站設計實際情況,本文主要採用JSP完成網站的設計,以下是所實現功能的部分JSP代碼。

1環境功能設計

由於每個業務都有統一的操作(增加、修改、刪除、查詢)功能,在頁面可以設定相關操作連接,使用ManageCommand創造具體業務對象,以實現具體業務操作。ManageCommand設計,

2管理功能接口設計

管理功能接口InterfaceManageCommand,定義統一的操作方法,爲ManageCommand提供統一操作方法。InterfaceManageCommand設計,

3具體業務功能策略

每個具體業務功能策略,只要實現InterfaceManageCommand接口即可,如TestCommand類,實現InterfaceManageCommand接口,具體完成考試管理中相關操作,TestCommand設計代碼,

四、設計效果

本文以德宏師範高等專科學校“思想道德修養與法律基礎”精品課程網站的設計爲例,使用JSP和SQLServer2005技術進行開發,系統使用Web技術常見的3層結構設計,各層使用模組方法獨立設計,實現精品課程建設網站的內容管理、在線交互、問卷調查、在線考試的管理與展示。系統在每個階段方便地實現業務功能的擴展,對系統實現、調試、集成等軟件開發階段,維護方便,節約了很多時間,降低了開發費用。

五、結束語

實踐說明,將策略設計模式應用到系統接口設計中,能有效提高軟件系統設計的效率,提高代碼的利用性和系統的可擴展性。面向對象設計模式的使用,使軟件設計人員可借鑑成功軟件設計的經驗,也爲軟件架構設計提供更多可行的解決方案。透過此精品課程網站的執行效果,說明該設計模式的實用價值,可對同類設計問題提供參考。