【摘要】隨著科學技術的發展,計算機應用技術已經得到了廣泛的使用。在這個計算機軟件快速發展的時代,人們對計算機性能的要求不斷提高,傳統的計算機程序設計已經不能滿足當代社會發展的需求了。而軟件設計模式作為當代計算機軟件開發而形成的一種全新的設計理念,軟件設計模式在計算機的應用中顯得越來越重要了。本文對軟件設計模式以及軟件設計模式的使用做了相關的分析。
【關鍵詞】軟件設計;設計模式;使用
引言
在這個網絡信息化時代里,計算機技術得到了飛速發展,計算機軟件也變得越來越復雜。計算機軟件被廣泛的應用到人們日常生活當中的方方面面,為我國社會以及經濟的發展提供了技術依靠。在人們生活水平改善的同時,人們對軟件的重用性以及安全性的需求也越來越高。因此,對計算機軟件設計模式進行研究有著重大意義。
1.軟件設計模式的概述
軟件設計模式(software design patt-ern)是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結[1]。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。軟件設計模式是對面向對象設計中反復出現的問題的解決方案。設計模式最早是由建筑設計領域中引入到計算機軟件設計中。
軟件設計模式可以是人們更加簡單地復用成功的設計以及結構體系,為軟件設計者提供設計思路。軟件設計模式中必不可少的四個基本要素就是模式名稱、問題、解決方案以及效果。
模式名稱是一個助記名,其主要作用是通過兩個詞來描述軟件模式中的問題、解決方案以及效果。模式名稱可以為軟件設計人員提供設計思路,從而提高設計效率[2]。問題是對軟件設計模式中問題的前因后果進行描述,問題的提出有助于設計人員更好的抱我軟件設計,問題可能是對軟件模式中特定的設計問題進行描述,例如怎樣用對象表示算法,問題是軟件設計模式中影響設計效果的一個重要因素,在進行模式設計時,對于問題部分有時必須滿足一定的條件才能進行設計。解決方案描述了軟件設計中各個組成部分,它是針對設計模式中存在問題的一種有效解決方法。
解決方案中的各種元素可以應用在多種不同的場合。效果描述了模式應用的效果及使用模式應權衡的問題。盡管我們描述設計決策時,并不總提到模式效果,但它們對于評價設計選擇和理解使用模式的代價及好處具有重要意義。軟件效果大多關注對時間和空間的衡量,它們也表述了語言和實現問題。因為復用是面向對象設計的要素之一,所以模式效果包括它對系統的靈活性、擴充性或可移植性的影響,顯式地列出這些效果對理解和評價這些模式很有幫助。
2.軟件設計模式的重要性
計算機技術作為當代科學發展的產物,是先進生產力的代表,在我國社會以及經濟發展過程中有著積極的作用。計算機軟件的使用越來越普遍,為我國當代企事業的經濟效益提供了保障[3]。但是在這個競爭激烈的市場環境中,人們對軟件設計模式中代碼的復用性、軟件模式的可維護性的需求越來越高。為此對軟件模式進行優化設計有著重大作用。軟件設計模式不僅可以增加代碼的復用性,提高軟件模式的可維護性,同時為設計人員提供設計思路,節約設計時間,提高設計效率,從而滿足我國當代社會發展的需要。
3.軟件設計模式分類
3.1 結構模式
結構模式是對軟件系統中的基本結構組織進行描述。它是一種處理對象與模式結構的組成形式。結構模式提供一些子系統,制定他們的職責,并制定出一定模式規則將這些子系統組織起來,從而為設計人員提供設計思路,滿足用戶的需求。
3.2 創建模式
創建模式的核心思想就是將一個復雜對象的構建算法與它的部件以及組裝方式分離,使得構建算法和組裝方式可以地獨立存在[4]。在創建模式中,用戶端不需要負責對象的創建和組裝,軟件系統會將對象的創建交由具體的創建者,把組裝的任務交給專門負責部件組裝的人員,從而明確了軟件系統中各個類的職責。創建模式主要有組裝類、創建者、抽象產品等部分組成。在創建模式中,軟件程序代碼不依賴具體的對象,因此當用戶在創建一個新的對象時,利用原來的代碼就可以完成對象的創建。復用同樣的構建算法可以創建不同的表示,不同的構建過程可以復用相同的部件組裝方式。
3.3 行為模式
行為模式是從大量的實際行為中總結出來作為行為的理論標準。在軟件設計模式中,行為模式只對軟件模式中的算法以及對象之間的職責分配情況進行描述。行為模式對人在執行某種任務行為的抽象概括,用來衡量以及分析人們的行為動作。在行為軟件設計模式中,它所描述的不僅僅是對象的設計模式,同時還是對象與描述類之間的模式。
4.軟件設計模式的使用
為了迎合當代人們對軟件代碼的復用需求以及軟件模式的可維護性,設計人員對軟件模式進行了優化設計,將軟件設計模式進行分類,其次就是要選擇合適的設計模式運用到具體的環境中去。
4.1 設計模式的選擇
隨著我國當前軟件設計模式的研究不斷深入,設計模式越來越多,不同的環境對設計模式的需求也會不同,正確的選擇設計模式可以為設計人員提供許多便利。首先要理解問題需求,設計人員要根據模式所針對的問題,選擇恰當的模式。其次,研究組內模式,對組內的意圖、目的進行相關分析。最后尋找解決方案,在對問題進行分析之后,需要對問題的可行性選擇合適的設計模式。
4.2 設計模式的使用
在選擇好設計模式后,就是將設計模式應用到實際的設計過程中。在使用設計模式的時候必須遵循的一個原則就是循序漸進。首先根據設計模式的結構進行分析,了解設計模式之間的協作關系,同時還要弄清楚這種設計模式使用什么樣的環境,其設計的目的與意圖是什么,其次,在了解了設計模式的結構、意圖以及適用范圍之后,選擇好模式參與者的名字,確保設計模式在應用中統一。再次,建立起設計模式中各元素之間的關系,明晰他們之間的接口,在設計模式中要弄清數據與對象引用的實際變量。最后就是實現執行模式內職務與協作的操作。
5.結語
在我國當前社會發展過程中,模式設計這一概念已經被廣大設計人員所接受,并在實際的軟件設計中得到了廣泛的使用。在進行項目開發活動中,有一些設計在在起始階段能夠工作的很好,對著項目的進展,經常需要對已有的代碼進行變換,而原有的設計模式已經不能很好的滿足工作的需求,使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。
設計模式是針對問題的產生而提出的一種解決方案,它可以幫助設計人員理清設計思路,為設計人員提供設計方法,一旦設計人員理解了一個設計模式的意圖、動機,那么在設計過程中,就很容易的發現適用于我們自己的設計模式,從而大大簡化設計工作,并且可以得到一個比較理想的設計方案,滿足項目設計的需求。
參考文獻
[1]張曉東,閆新慶,李勇敢.Observer軟件設計模式在Delphi中的實現[J].河南師范大學學報(自然科學版), 2001(04).
[2]王越超,姚娛.探討軟件設計模式背后的科學方法與科學哲學[J].廣州城市職業學院學報,2010(01).
[3]呂雪峰,趙軍芬.嵌入式系統軟件設計模式研究與應用[J].單片機與嵌入式系統應用,2007(10).
[4]饒一梅,王治寶,王秀峰.軟件設計模式及其在Java類庫中的典型實現[J].計算機工程與應用,2002(04).
作者簡介:王飛(1982—),男,河南鄭州人,河南省工業設計學校教師,研究方向:計算機視覺及軟件工程。