体育彩票走势图排五
網站地圖 原創論文網,覆蓋經濟,法律,醫學,建筑,藝術等800余專業,提供60萬篇論文資料免費參考
主要服務:論文發表、論文修改服務,覆蓋專業有:經濟、法律、體育、建筑、土木、管理、英語、藝術、計算機、生物、通訊、社會、文學、農業、企業

軟件開發過程中軟件設計模式的實踐

來源:原創論文網 添加時間:2019-10-11

  摘    要: 通過對軟件設計模式的介紹以及工作實踐中幾種常用的軟件設計模式的研究,給出了軟件設計模式的應用場合及最佳實踐,實踐表明本文所闡述的單例模式與原型模式、策略者方法和模板方法模式以及代理模式在三層Web應用開發中切實有效。

  關鍵詞: 設計模式; 單例模式; 策略者模式; 代理模式;

  1、 引言

  自20世紀90年代軟件設計模式概念提出以來,一直受到廣大軟件開發者的青睞。軟件設計模式共分為了3類23種,每種設計模式都有其比較合適的應用場景。但是大多數設計模式并不能得到發揚廣大,得不到充分的利用。因此,為了更好地去宣傳軟件設計模式及讓我們開發的軟件更加健壯和可靠,本文將結合自己的軟件開發實踐,試圖探索軟件設計模式的最佳實踐。

  2 、軟件設計模式介紹

  軟件設計模式是一種為多數人知道的、能被反復使用的、并分類編目的代碼設計經驗的概括與總結[1]。使用軟件設計模式可以讓人更加容易理解代碼、保證代碼的可靠性以及程序的復用性等。常見的軟件設計模式有:創建型模式包括單例模式、原型模式、工廠方法模式、抽象工廠模式和生成器模式;結構型模式包括適配器模式、組合模式、代理模式、橋接模式、裝飾模式、外觀模式和享元模式;行為型模式包括策略模式、模板方法模式、職責鏈模式、備忘錄模式、命令模式、中介者模式、解釋器模式、迭代器模式、狀態模式、訪問者模式和觀察者模式。在所有的軟件設計模式中,只有工廠方法模式、適配器模式、解釋器模式、模板方法模式既有類模式也有對象模式,而其它的只有對象模式。

  3、 軟件設計模式應用的最佳實踐

  軟件設計模式并不是短時間內就容易搞懂的知識,也不能說一個人會不是設計模式,因為設計模式沒有絕對的對與錯,只有理解的深淺不同,實踐應用的合適程度不同[2]。本來軟件設計模式就是軟件開發過程中的最佳實踐之一,項目中合理地運用設計模式可以完美地解決很多問題。因此,這里將結合自己的開發經驗,探索軟件設計模式應用的最佳實踐。
 

軟件開發過程中軟件設計模式的實踐
 

  3.1、 結合使用單例模式與原型模式

  單例模式是在這整個系統開發過程中保證一個類只要一個實例,并提供一個訪問它的全局訪問點[3]。而原型模式是用原型實例指定創建對象的實例,并且通過復制這個原型來創建新對象,即通過克隆的方式來創建對象。在設計過程中單例模式因只有一個實例,可以節省系統空間,但是因只有一個實例若在多線程并發情況下,可能會發生沖突。而原型模式,因需要時就會復制一個對象出來,會增加系統開銷,但在多線程并發時,不會發送沖突。因此,在項目實踐中,可以利用這兩種設計模式優點,避免其缺點,達到一種較為完美的組合,形成一種最佳實踐。如幾乎所有的系統都要對用戶信息關鍵信息進行加密保護,為了提高代碼的可重用性和可維護性,可以采用單例模式對用戶密碼等信息提供保密支持。這樣可以采用單例模式設計一個對信息進行加密的工具類,為系統提供一個訪問它的全局訪問點,以提高效率和節省空間。還有在業務邏輯層需要數據訪問層某些對象的支持,這樣很多地方都使用某個數據訪問層的對象,這時對于這樣的對象可以采用原型模式,因為原型模式是用原型實例指定創建對象的實例,并且通過復制這個原型來創建新對象,這樣可以節省時間,而且效率也高。

  3.2、 合理使用策略者模式和模板方法模式

  策略者模式定義一系列算法,并將每個算法封裝起來,并讓它們可以相互替換[4]。也就是說策略模式實際上就是分開算法的定義和使用,分開算法的行為和環境,專門定義一個抽象策略類去聲明算法,然后再定義具體的策略類去實現抽象策略類中的算法。這樣我們使用具體的算法時是針對抽象策略編程,而不是針對實現編程,符合依賴倒置原則。因此在數據訪問層的ORM中,可采用了策略者模式完成查詢結果到對象或對象集的操作,這樣的模式處理結果集具有通用性、規范性。模板方法模式是在抽象的父類中聲明一些算法,而將這些算法的實現延遲到子類中,從而使得子類可以不改變算法結構即可重寫這些算法;使用該模式,可完成了SQL語句的統一執行。實際上,用策略模式和模板方法模式結合完成從數據庫表記錄到對象或對象集的雙向映射是一種不錯的實踐方案。

  3.3、 配合使用代理模式

  在項目開發過程,往往會有一些對象不能直接引用或不適合使用另一個對象[2],這時代理對象可以作為它們的中介,這種設計的思想即為代理模式。在表現層控制器對用戶請求的處理和響應,通常就可采用代理模式,因為代理模式可以解決直接訪問對象時帶來的問題,而要訪問的對象在互聯網的應用服務器上,對象創建開銷大,并且很多操作還需要安全控制等。這樣就可以把雜亂的用戶請求統一用一個控制代理來完成,既方便又安全。

  4、 結束語

  實踐證明,本文所闡述的單例模式與原型模式、策略者方法和模板方法模式以及代理模式在三層Web應用開發中切實有效。即設計模式若利用好設計模式,可以簡化并快速設計、方便開發人員之間的通信交流、降低風險、有助于轉到面向對象技術。但是如果利用不好,將會影響系統的性能。

  參考文獻

  [1]張英杰,朱雪峰.模式驅動的軟件架構設計研究綜述[J].計算機科學,2018 (S2) .
  [2]韓菁華.設計模式及其在軟件設計中的應用[J].信息系統工程,2016 (05) .
  [3]Shikha Gautam, Brijendra Singh. Assessing the Theoretical Impact of Design Patterns on Software Quality[J]. Software Quality Professional, 2018 (1) .
  [4]Sandra Sanchez-Gordon, Mary Sánchez-Gordón, Murat Yilmaz, etal. O'Connor. Integration of accessibility design patterns with the software implementation process of ISO/IEC 29110[J]. Journal of Software:Evolution and Process, 2019, 31 (1) .

重要提示:轉載本站信息須注明來源:原創論文網,具體權責及聲明請參閱網站聲明。
閱讀提示:請自行判斷信息的真實性及觀點的正誤,本站概不負責。
体育彩票走势图排五 内蒙古11选5一定牛走势图 三人麻将怎么调 内蒙时时彩开奖500期 德阳卖彩票赚钱吗 卖劳防用品赚钱吗 重庆欢乐生肖官方开奖同步 二八杠游戏作弊器下载 澳洲幸运10官方开奖网址 澳洲彩票计划软件 山西财经大学考研分数线 贴支付宝红包赚钱吗 手机赚钱工作室视频 重庆时时采一星走势 重庆时时在线预测龙虎 d走势图 彩经网 在海口开小车快修电 赚钱吗