前言:尋找寫作靈感?中文期刊網(wǎng)用心挑選的設(shè)計模式在軟件設(shè)計的運(yùn)用,希望能為您的閱讀和創(chuàng)作帶來靈感,歡迎大家閱讀并分享。
摘要:設(shè)計模式是一套能夠被重復(fù)使用、經(jīng)過分類的、多人協(xié)作的代碼設(shè)計經(jīng)驗的總結(jié),在軟件設(shè)計中有著重要作用,可以讓軟件代碼可靠性更高,更容易被人理解。本文介紹了設(shè)計模式的概念,并對其進(jìn)行了簡單的分類,闡述了設(shè)計模式的選擇以及應(yīng)用。
關(guān)鍵詞:軟件設(shè)計;設(shè)計模式;應(yīng)用
在信息技術(shù)快速發(fā)展的今天,許多工作領(lǐng)域都離不開軟件設(shè)計,軟件可以大大提高人們的工作效率,給人們帶來很大的便利。在軟件設(shè)計中,設(shè)計模式的合理利用可以讓相關(guān)軟件代碼能夠得到重復(fù)使用,提高軟件設(shè)計的效率,同時還增強(qiáng)了軟件代碼的可靠性。目前軟件設(shè)計模式已經(jīng)取得了一定的成果,但是從社會需求和社會發(fā)展而言,設(shè)計模式還有著很大的提升空間,在這種的背景下,研究軟件設(shè)計模式對于相關(guān)從業(yè)人員而言,具有一定的借鑒意義。
1設(shè)計模式的概述
在面對對象的軟件設(shè)計中,通常會有許多問題會重復(fù)出現(xiàn)。解決這些問題的有效辦法就是設(shè)計模式,設(shè)計模式的概念最早是從建筑學(xué)中誕生的,當(dāng)初主要是為了讓建筑設(shè)計人員解決在設(shè)計時遇到的重復(fù)問題。隨著技術(shù)的發(fā)展,設(shè)計模式逐漸從建筑領(lǐng)域轉(zhuǎn)化為計算機(jī)領(lǐng)域,主要關(guān)注的是面向?qū)ο筌浖O(shè)計中容易出現(xiàn)的重復(fù)問題,不同的設(shè)計模式都有著各自特有的強(qiáng)度和語境,強(qiáng)度在設(shè)計模式中作為語境的元素,而強(qiáng)度則是對設(shè)計模式的使用情況進(jìn)行解釋。在軟件設(shè)計中,設(shè)計模式主要完成對多數(shù)驗證正確的提煉和記錄。
2設(shè)計模式的分類
不同的設(shè)計模式都有著各自的適用環(huán)境和特點,在進(jìn)行模式的選取之前,首先要了解不同的設(shè)計模式,只有這樣,才可以在實際的軟件設(shè)計中靈活運(yùn)用,常見的設(shè)計模式包括以下幾種:
2.1享元模式
在軟件設(shè)計中,經(jīng)常會遇到很多共性較大、相似的對象,這種情況對系統(tǒng)的性能會產(chǎn)生一定的負(fù)面影響。享元模式可以較好的解決這個問題,該模式可以提取多個對象的相似信息,并將他們分類成為新的Flyweight對象,如果要對原來的信息進(jìn)行復(fù)原的話,可以在Flyweight對象中進(jìn)行,這樣可以有效地減少設(shè)計中程序?qū)ο蟮膭?chuàng)建,減小內(nèi)存的占用率,同時提高軟件程序的性能。
2.2Observer模式
該設(shè)計模式可以在軟件對象中建立一對多的對應(yīng)關(guān)系,如果此模式中的一個對象發(fā)生變化時,建立對應(yīng)關(guān)系的其他對象也會及時更新。在軟件的界面設(shè)計中,Observer模式的應(yīng)用較為廣泛,在軟件開發(fā)過程中,往往需要把軟件的業(yè)務(wù)邏輯同用戶的界面分離開,而Observer模式則可以有效地避免這種情況的發(fā)生。同時,Observer模式還可以很好的解決對象之間的狀態(tài)同步問題,如果一個用戶視圖的數(shù)據(jù)發(fā)生更改后,相應(yīng)的后臺數(shù)據(jù)庫也會進(jìn)行同步的自動更新。
2.3組合模式
組合模式主要功能是把軟件對象劃分為“整體-部分”的層次,也就是樹狀結(jié)構(gòu),可以有效地使單個對象和復(fù)合對象在實際的使用時能夠保持較好的一致性。在軟件界面設(shè)計中,組合模式的應(yīng)用也十分廣泛,比如可以利用此模式操作圖形對象,能夠有效地提高代碼的可重復(fù)程度,使軟件設(shè)計更加規(guī)范。
3設(shè)計模式的選取和在軟件設(shè)計中的應(yīng)用
目前設(shè)計模式在軟件設(shè)計中的應(yīng)用主要表現(xiàn)在:(1)在進(jìn)行軟件開發(fā)之前,就把設(shè)計模式計劃應(yīng)用到設(shè)計的多個環(huán)節(jié)之中;(2)在軟件設(shè)計的過程中,相關(guān)的工作已經(jīng)開展,例如軟件結(jié)構(gòu)已初步設(shè)計完成后,為了保證軟件的組件和模塊更加靈活,從而應(yīng)用設(shè)計模式。
3.1設(shè)計模式的選取
3.1.1設(shè)計模式的選擇
在選擇設(shè)計模式時往往要考慮多方面的因素:(1)要充分考慮軟件設(shè)計過程中的可變因素;(2)充分考慮不同的設(shè)計模式可以解決哪些問題以及他們各自的工作原理;(3)了解瀏覽模式的意圖;(4)充分比較研究多個相似的模式;(5)了解不同的分析模式之間如何進(jìn)行連接。
3.1.2設(shè)計模式的選擇步驟
為了能夠在設(shè)計軟件中高效地應(yīng)用設(shè)計模式,選擇的步驟主要包括:(1)將要解決的問題抽象化,并進(jìn)行合理科學(xué)的劃分;(2)根據(jù)實際問題的不同選擇合適的設(shè)計模式;(3)將問題進(jìn)行規(guī)劃并匹配設(shè)計模式;(4)將選擇的模式進(jìn)行變體,適當(dāng)?shù)男薷暮驼{(diào)整設(shè)計模式的原始結(jié)構(gòu),便于有問題的解決;(5)細(xì)化軟件體系的結(jié)構(gòu);(6)衡量度量設(shè)計的質(zhì)量。
3.2設(shè)計模式的應(yīng)用
選取合適的設(shè)計模式后,如何科學(xué)合理的應(yīng)用也十分重要:(1)詳細(xì)了解設(shè)計模式;(2)仔細(xì)觀察代碼示例部分和形式案例;(3)明確模式參與者在應(yīng)用中的實際意義;(4)需要定義類;(5)使用專門的操作名稱,便于軟件設(shè)計中多人協(xié)作的良好實現(xiàn)。
4結(jié)語
在面向?qū)ο蟮能浖O(shè)計領(lǐng)域,設(shè)計模式得到了廣泛的應(yīng)用,同時也有許多新的研究成果誕生。相信在今后的軟件設(shè)計,特別是面向?qū)ο筌浖O(shè)計中,設(shè)計模式將會得到更好的發(fā)展和應(yīng)用。
參考文獻(xiàn)
[1]周宇,趙洪達(dá),張倩雯.軟件設(shè)計模式課程實驗教學(xué)系統(tǒng)探索[J].計算機(jī)系統(tǒng)應(yīng)用,2017,26(05):86-90.
[2]段群,吳粉俠,歐陽宏基.軟件設(shè)計模式在目標(biāo)考核系統(tǒng)中的應(yīng)用[J].自動化技術(shù)與應(yīng)用,2017,36(09):60-63.
[3]張偉奇.軟件設(shè)計模式在氣象觀測軟件開發(fā)中的應(yīng)用[J].儀器儀表用戶,2017,24(10):68-71.
[4]張璞,夏英.軟件設(shè)計模式在Java程序設(shè)計課程教學(xué)中的應(yīng)用研究[J].軟件工程,2017,20(07):15-18.
[5]成冬梅.基于設(shè)計模式與軟件工程的圖像文件管理系統(tǒng)研究[J].微型電腦應(yīng)用,2016,32(02):29-31.
[6]李菊.基于設(shè)計模式與軟件工程的圖像文件管理系統(tǒng)探討[J].電腦知識與技術(shù),2017,13(07):11-12.
作者:鐘睿 單位:中睿通信規(guī)劃設(shè)計有限公司