軟件模式的現(xiàn)狀分析研究 計(jì)算機(jī)專業(yè)_第1頁
軟件模式的現(xiàn)狀分析研究 計(jì)算機(jī)專業(yè)_第2頁
軟件模式的現(xiàn)狀分析研究 計(jì)算機(jī)專業(yè)_第3頁
軟件模式的現(xiàn)狀分析研究 計(jì)算機(jī)專業(yè)_第4頁
軟件模式的現(xiàn)狀分析研究 計(jì)算機(jī)專業(yè)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

軟件模式的現(xiàn)狀摘要:“模式”二字最早源于建筑行業(yè),隨著社會的飛速發(fā)展,模式的運(yùn)用范圍也逐漸深入到各個領(lǐng)域。如今,模式已經(jīng)成為了軟件領(lǐng)域內(nèi)的關(guān)鍵詞,其在軟件領(lǐng)域的影響遠(yuǎn)遠(yuǎn)超過了在建筑行業(yè)的影響。軟件模式是軟件行業(yè)的一個新興名詞,其對軟件開發(fā)產(chǎn)生了重要的影響。在信息技術(shù)飛速發(fā)展的當(dāng)今社會,加深對軟件模式的了解是十分必要的。本文以軟件模式為主要研究對象,主要從軟件的幾個模式來開展探討。關(guān)鍵詞:軟件模式;軟件領(lǐng)域;軟件開發(fā)一.軟件模式的作用20世紀(jì)90年代,軟件模式這一概念被引用到軟件工程中,這是軟件工程誕生之后一次理論上的完美飛躍。所謂“模式”是指遵從某種規(guī)律反復(fù)出現(xiàn)的思維方式,而軟件模式便是將這一概念應(yīng)用到軟件開發(fā)領(lǐng)域,以此來作為軟件開發(fā)的指導(dǎo)思路。軟件模式的核心思想在于對系統(tǒng)的模式進(jìn)行再次運(yùn)用。在信息技術(shù)飛速發(fā)展的當(dāng)今社會,軟件行業(yè)對于軟件模式的運(yùn)用也在逐漸深入。實(shí)踐證明,軟件模式的應(yīng)用對軟件開發(fā)有著很大的促進(jìn)作用,這種作用主要表現(xiàn)為兩個方面:1.軟件模式是軟件工程師在設(shè)計(jì)、管理和組織軟件等實(shí)踐中經(jīng)驗(yàn)的提煉,是重復(fù)使用軟件設(shè)計(jì)方法的有力工具。軟件模式就好比拳擊中的組合拳,它為軟件工程師提供了大量軟件開發(fā)的思維方法,如通過運(yùn)用軟件模式能使得復(fù)雜的系統(tǒng)變得簡潔。2.軟件模式不僅為人們在設(shè)計(jì)軟件過程中提供了一套簡潔的設(shè)計(jì)、組織和管理軟件方面的詞匯,它還為人們提供了一個描述抽象事物的規(guī)范標(biāo)準(zhǔn)。信息傳達(dá)準(zhǔn)確、及時與否與軟件項(xiàng)目的成功有著緊密的聯(lián)系,由此可見,在軟件開發(fā)中交流是十分重要的,而軟件模式的這種規(guī)范標(biāo)準(zhǔn)促進(jìn)了軟件開發(fā)過程中的交流,從而促進(jìn)軟件項(xiàng)目的成功。二.軟件模式分類“模式”是在八十年代時期被KentBeck等人引用到軟件開發(fā)領(lǐng)域中,目前,軟件中已經(jīng)有很多種類的模式,如設(shè)計(jì)模式、架構(gòu)模式等。下面我就針對軟件開發(fā)中的這些模式進(jìn)行分析。1.設(shè)計(jì)模式設(shè)計(jì)模式描述普遍存在在相互通訊的組件中重復(fù)出現(xiàn)的結(jié)構(gòu)中,設(shè)計(jì)模式是軟件模式中最典型的一種模式,其主要解決的是對象設(shè)計(jì)中對象之間的關(guān)系。設(shè)計(jì)模式能夠使人們更加簡單、方便地復(fù)用成功的設(shè)計(jì)和體系結(jié)構(gòu),將已經(jīng)證實(shí)的信息技術(shù)表述成設(shè)計(jì)模式還能使人們更加容易地理解技術(shù)的設(shè)計(jì)思路。一般情況下,設(shè)計(jì)模式主要是指1995年GOF提出的23種模式,他首次將設(shè)計(jì)模式提升到理論的高度。直至發(fā)展到今日,在可復(fù)用面向?qū)ο筌浖陌l(fā)展進(jìn)程中,雖然有很多新的設(shè)計(jì)模式在不斷地出現(xiàn),但是GOF提出的23種模式的理論依舊處于無法超越的地位。按大范圍的模式種類,可將23種設(shè)計(jì)模式的分為以下幾種:①創(chuàng)建型設(shè)計(jì)模式,如工廠方法模式(FactoryMethod)、建造模式(Builder)、原型模式(Prototype)等,這些模式在汽車制造業(yè)、快餐業(yè)和行政機(jī)構(gòu)中都得到了充分的運(yùn)用;②結(jié)構(gòu)型設(shè)計(jì)模式,如裝飾模式(Decorator)、橋梁模式(Bridge)等,這些模式在工具、零售業(yè)和銀行業(yè)中都可以找到;③行為型模式,如模板方法模式(TemplateMethod)、命令模式(Command)、訪問者模式(Visitor)等,這些模式在運(yùn)用到了餐館訂餐、音樂和自動售貨機(jī)中。近年來,設(shè)計(jì)模式受到了軟件行業(yè)的青睞,其特征在于將模式合并分解再創(chuàng)造出新的模式,這樣的變化能使得軟件開發(fā)的國戰(zhàn)2.架構(gòu)模式架構(gòu)模式是一個較為空泛的概念,本文所講述的“架構(gòu)模式”主要是指軟件實(shí)現(xiàn)的框架,其描述的是軟件開發(fā)過程中的總體綱要和基本架構(gòu),在軟件程序開發(fā)過程中,架構(gòu)模式就是指模塊之間或子系統(tǒng)之間的職責(zé)關(guān)系,并給出將它們自制在一起的法制,稱為系統(tǒng)模式。架構(gòu)一般強(qiáng)調(diào)設(shè)計(jì)復(fù)用,如MVP、總線架構(gòu)、元數(shù)據(jù)模式等整體或局部架構(gòu)。架構(gòu)模式常常被分為以下幾種:①模塊結(jié)構(gòu)型(FromMudtoStructure)。這種架構(gòu)模式能幫助架構(gòu)師合理地劃分系統(tǒng),避免系統(tǒng)對象的混雜;②分散系統(tǒng)型(DistributedSystems)。這種模式主要是為分散式系統(tǒng)提供完整的結(jié)構(gòu)設(shè)計(jì),在軟件開發(fā)中創(chuàng)設(shè)完整地構(gòu)架;③人機(jī)互動型(InteractiveSystems)。這種架構(gòu)模式支持包含有人機(jī)互動界面的架構(gòu)設(shè)計(jì),如MVC模式;④AdaptableSystems型。這種架構(gòu)模式支持軟件系統(tǒng)適應(yīng)各種變化,如技術(shù)和軟件功能需求的變化。3.代碼模式代碼模式是軟件模式中最低層的模式,其和代碼或軟件開發(fā)語言有著緊密的聯(lián)系,是實(shí)現(xiàn)某種具體功能的最佳方式。例如JAVA要想實(shí)現(xiàn)飄帶文字的功能便可以利用代碼模式,較為著名的代碼模式案例有雙檢鎖模式(Double-CheckLocking)等三.軟件設(shè)計(jì)模式和架構(gòu)模式的對比分析軟件設(shè)計(jì)模式和架構(gòu)模式是目前軟件開發(fā)領(lǐng)域中最常用和最實(shí)用的兩種模式,這兩種模式都各具優(yōu)勢。就設(shè)計(jì)模式而言,其是一種側(cè)重于系統(tǒng)動態(tài)行為特征分析的模式,注重對象的組合而不是復(fù)制,是在重組的基礎(chǔ)上加以創(chuàng)新。以往的模式側(cè)重于類繼承,設(shè)計(jì)模式通過類的層次和數(shù)量使得設(shè)計(jì)更加簡潔且具有較好的擴(kuò)展性。另外,設(shè)計(jì)模式能有效地指導(dǎo)類繼承的層次劃分。類的層次劃分對于面向?qū)ο笤O(shè)計(jì)是十分重要的,類的層次劃分過多會使得軟件程序變得笨重,而如果類的層次過少會使得設(shè)計(jì)的封裝性變差,因此,類的層次劃分必須要十分嚴(yán)謹(jǐn)。在類的層次劃分上,設(shè)計(jì)模式從系統(tǒng)動態(tài)行為特征的角度,將類分層包裝在合理分配各方法屬性。而就架構(gòu)模式而言,其是一個可以重復(fù)使用的小型體系結(jié)構(gòu),在一個指定的范圍內(nèi)為一組軟件抽象產(chǎn)物提供能夠通用的結(jié)構(gòu)。一般情況下,架構(gòu)不是一個完整的應(yīng)用系統(tǒng),它主要是規(guī)定應(yīng)用系統(tǒng)的體系結(jié)構(gòu),并提供一系列規(guī)定的插口或配置點(diǎn)來供使用者生成其所需要的應(yīng)用軟件。軟件設(shè)計(jì)模式和軟件架構(gòu)模式之間存在著一定的區(qū)別,這種區(qū)別主要體現(xiàn)三個方面:1.應(yīng)用范圍。就應(yīng)用范圍而言,軟件設(shè)計(jì)模式的范圍更加廣泛。當(dāng)今,軟件設(shè)計(jì)模式被廣泛運(yùn)用到制造業(yè)、行政機(jī)構(gòu)、金融業(yè)、餐飲業(yè)和建筑業(yè)等領(lǐng)域,幾乎適用于任何應(yīng)用類型。但架構(gòu)模式一般會限制在某個指定的應(yīng)用區(qū)域;②表達(dá)方面。架構(gòu)可以通過代碼來具體表達(dá),但是設(shè)計(jì)模式則不能,只有設(shè)計(jì)模式實(shí)例才能轉(zhuǎn)化為代碼。在表達(dá)方面,架構(gòu)模式的優(yōu)勢在于它能夠用編程語言程序書寫出來,可以運(yùn)行直接重復(fù)使用。而軟件設(shè)計(jì)模式在每次應(yīng)用之前都需要將其實(shí)現(xiàn),這樣才能啟動運(yùn)用;③設(shè)計(jì)模式是一種比架構(gòu)模式更小的結(jié)構(gòu)型元素。一個架構(gòu)必須包含若干個設(shè)計(jì)模式,因此設(shè)計(jì)模式是一種更小的結(jié)構(gòu)型元素。軟件設(shè)計(jì)模式和架構(gòu)模式都各具優(yōu)勢,在軟件開發(fā)時,軟件工程師通過考慮到軟件自身的需要來選擇軟件模式,這樣才能設(shè)計(jì)出更實(shí)用的軟件程序。四.總結(jié)21世紀(jì)是信息時代,隨著信息技術(shù)的不斷提升和運(yùn)用范圍的不斷擴(kuò)展,人們在軟件開發(fā)實(shí)踐過程中獲取了很多寶貴的經(jīng)驗(yàn)。軟件模式是一種新的概念,是軟件工程師在長期的工作中總結(jié)出來的一個經(jīng)驗(yàn),其能有效地將復(fù)雜程序簡潔化,也為軟件開發(fā)行為提供了一個較完善的規(guī)范標(biāo)準(zhǔn)。但是,由于軟件模式是軟件開發(fā)、設(shè)計(jì)經(jīng)驗(yàn)中的提煉,因此完全理解和使用過軟件模式還存在一點(diǎn)問題,如何在軟件設(shè)計(jì)開發(fā)過程中運(yùn)用“軟件模式”這個缺乏系統(tǒng)化和理論化的指導(dǎo)思想是目前仍需要研究的問題。相信在以后的實(shí)踐中,通過不斷地深入了解和完善軟件模式,一定能夠有效地解決以上問題。參考文獻(xiàn):[1]彭鑫,趙文耘,夏寬理,沈鋮;基于Java的軟件再工程支持工具研究[J];計(jì)算機(jī)工程與應(yīng)用;2003年18期[2]張堃;黃莊莊;從C/S遺留系統(tǒng)升級到Web環(huán)境的軟件再工程[A];第九屆全國青年通信學(xué)術(shù)會議論文集[C];2004年0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論