



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 軟件模式的現(xiàn)狀摘要:“模式”二字最早源于建筑行業(yè),隨著社會的飛速發(fā)展,模式的運用范圍也逐漸深入到各個領(lǐng)域。如今,模式已經(jīng)成為了軟件領(lǐng)域內(nèi)的關(guān)鍵詞,其在軟件領(lǐng)域的影響遠遠超過了在建筑行業(yè)的影響。軟件模式是軟件行業(yè)的一個新興名詞,其對軟件開發(fā)產(chǎn)生了重要的影響。在信息技術(shù)飛速發(fā)展的當今社會,加深對軟件模式的了解是十分必要的。本文以軟件模式為主要研究對象,主要從軟件的幾個模式來開展探討。關(guān)鍵詞:軟件模式;軟件領(lǐng)域;軟件開發(fā)一軟件模式的作用20世紀90年代,軟件模式這一概念被引用到軟件工程中,這是軟件工程誕生之后一次理論上的完美飛躍。所謂“模式”是指遵從某種規(guī)律反復出現(xiàn)的思維方式,而軟件模式便是將這一
2、概念應用到軟件開發(fā)領(lǐng)域,以此來作為軟件開發(fā)的指導思路。軟件模式的核心思想在于對系統(tǒng)的模式進行再次運用。在信息技術(shù)飛速發(fā)展的當今社會,軟件行業(yè)對于軟件模式的運用也在逐漸深入。實踐證明,軟件模式的應用對軟件開發(fā)有著很大的促進作用,這種作用主要表現(xiàn)為兩個方面:1.軟件模式是軟件工程師在設計、管理和組織軟件等實踐中經(jīng)驗的提煉,是重復使用軟件設計方法的有力工具。軟件模式就好比拳擊中的組合拳,它為軟件工程師提供了大量軟件開發(fā)的思維方法,如通過運用軟件模式能使得復雜的系統(tǒng)變得簡潔。2.軟件模式不僅為人們在設計軟件過程中提供了一套簡潔的設計、組織和管理軟件方面的詞匯,它還為人們提供了一個描述抽象事物的規(guī)范標準
3、。信息傳達準確、及時與否與軟件項目的成功有著緊密的聯(lián)系,由此可見,在軟件開發(fā)中交流是十分重要的,而軟件模式的這種規(guī)范標準促進了軟件開發(fā)過程中的交流,從而促進軟件項目的成功。二軟件模式分類“模式”是在八十年代時期被Kent Beck等人引用到軟件開發(fā)領(lǐng)域中,目前,軟件中已經(jīng)有很多種類的模式,如設計模式、架構(gòu)模式等。下面我就針對軟件開發(fā)中的這些模式進行分析。1.設計模式設計模式描述普遍存在在相互通訊的組件中重復出現(xiàn)的結(jié)構(gòu)中,設計模式是軟件模式中最典型的一種模式,其主要解決的是對象設計中對象之間的關(guān)系。設計模式能夠使人們更加簡單、方便地復用成功的設計和體系結(jié)構(gòu),將已經(jīng)證實的信息技術(shù)表述成設計模式還能
4、使人們更加容易地理解技術(shù)的設計思路。一般情況下,設計模式主要是指1995年GOF提出的23種模式,他首次將設計模式提升到理論的高度。直至發(fā)展到今日,在可復用面向?qū)ο筌浖陌l(fā)展進程中,雖然有很多新的設計模式在不斷地出現(xiàn),但是GOF提出的23種模式的理論依舊處于無法超越的地位。按大范圍的模式種類,可將23種設計模式的分為以下幾種:創(chuàng)建型設計模式,如工廠方法模式(Factory Method)、建造模式(Builder)、原型模式(Prototype)等,這些模式在汽車制造業(yè)、快餐業(yè)和行政機構(gòu)中都得到了充分的運用;結(jié)構(gòu)型設計模式,如裝飾模式(Decorator)、橋梁模式(Bridge)等,這些模式
5、在工具、零售業(yè)和銀行業(yè)中都可以找到;行為型模式,如模板方法模式(Template Method)、命令模式(Command)、訪問者模式(Visitor)等,這些模式在運用到了餐館訂餐、音樂和自動售貨機中。近年來,設計模式受到了軟件行業(yè)的青睞,其特征在于將模式合并分解再創(chuàng)造出新的模式,這樣的變化能使得軟件開發(fā)的國戰(zhàn)2.架構(gòu)模式架構(gòu)模式是一個較為空泛的概念,本文所講述的“架構(gòu)模式”主要是指軟件實現(xiàn)的框架,其描述的是軟件開發(fā)過程中的總體綱要和基本架構(gòu),在軟件程序開發(fā)過程中,架構(gòu)模式就是指模塊之間或子系統(tǒng)之間的職責關(guān)系,并給出將它們自制在一起的法制,稱為系統(tǒng)模式。架構(gòu)一般強調(diào)設計復用,如MVP、總線
6、架構(gòu)、元數(shù)據(jù)模式等整體或局部架構(gòu)。 架構(gòu)模式常常被分為以下幾種:模塊結(jié)構(gòu)型(From Mud to Structure)。這種架構(gòu)模式能幫助架構(gòu)師合理地劃分系統(tǒng),避免系統(tǒng)對象的混雜;分散系統(tǒng)型(Distributed Systems)。這種模式主要是為分散式系統(tǒng)提供完整的結(jié)構(gòu)設計,在軟件開發(fā)中創(chuàng)設完整地構(gòu)架;人機互動型(Interactive Systems)。這種架構(gòu)模式支持包含有人機互動界面的架構(gòu)設計,如MVC模式;Adaptable Systems型。這種架構(gòu)模式支持軟件系統(tǒng)適應各種變化,如技術(shù)和軟件功能需求的變化。3代碼模式代碼模式是軟件模式中最低層的模式,其和代碼或軟件開發(fā)語言有著緊
7、密的聯(lián)系,是實現(xiàn)某種具體功能的最佳方式。例如JAVA要想實現(xiàn)飄帶文字的功能便可以利用代碼模式,較為著名的代碼模式案例有雙檢鎖模式(Double-Check Locking)等三軟件設計模式和架構(gòu)模式的對比分析軟件設計模式和架構(gòu)模式是目前軟件開發(fā)領(lǐng)域中最常用和最實用的兩種模式,這兩種模式都各具優(yōu)勢。就設計模式而言,其是一種側(cè)重于系統(tǒng)動態(tài)行為特征分析的模式,注重對象的組合而不是復制,是在重組的基礎(chǔ)上加以創(chuàng)新。以往的模式側(cè)重于類繼承,設計模式通過類的層次和數(shù)量使得設計更加簡潔且具有較好的擴展性。另外,設計模式能有效地指導類繼承的層次劃分。類的層次劃分對于面向?qū)ο笤O計是十分重要的,類的層次劃分過多會使
8、得軟件程序變得笨重,而如果類的層次過少會使得設計的封裝性變差,因此,類的層次劃分必須要十分嚴謹。在類的層次劃分上,設計模式從系統(tǒng)動態(tài)行為特征的角度,將類分層包裝在合理分配各方法屬性。而就架構(gòu)模式而言,其是一個可以重復使用的小型體系結(jié)構(gòu),在一個指定的范圍內(nèi)為一組軟件抽象產(chǎn)物提供能夠通用的結(jié)構(gòu)。一般情況下,架構(gòu)不是一個完整的應用系統(tǒng),它主要是規(guī)定應用系統(tǒng)的體系結(jié)構(gòu),并提供一系列規(guī)定的插口或配置點來供使用者生成其所需要的應用軟件。軟件設計模式和軟件架構(gòu)模式之間存在著一定的區(qū)別,這種區(qū)別主要體現(xiàn)三個方面:1.應用范圍。就應用范圍而言,軟件設計模式的范圍更加廣泛。當今,軟件設計模式被廣泛運用到制造業(yè)、行
9、政機構(gòu)、金融業(yè)、餐飲業(yè)和建筑業(yè)等領(lǐng)域,幾乎適用于任何應用類 型。但架構(gòu)模式一般會限制在某個指定的應用區(qū)域;表達方面。架構(gòu)可以通過代碼來具體表達,但是設計模式則不能,只有設計模式實例才能轉(zhuǎn)化為代碼。在表達方面,架構(gòu)模式的優(yōu)勢在于它能夠用編程語言程序書寫出來,可以運行直接重復使用。而軟件設計模式在每次應用之前都需要將其實現(xiàn),這樣才能啟動運用;設計模式是一種比架構(gòu)模式更小的結(jié)構(gòu)型元素。一個架構(gòu)必須包含若干個設計模式,因此設計模式是一種更小的結(jié)構(gòu)型元素。軟件設計模式和架構(gòu)模式都各具優(yōu)勢,在軟件開發(fā)時,軟件工程師通過考慮到軟件自身的需要來選擇軟件模式,這樣才能設計出更實用的軟件程序。四總結(jié)21世紀是信息
10、時代,隨著信息技術(shù)的不斷提升和運用范圍的不斷擴展,人們在軟件開發(fā)實踐過程中獲取了很多寶貴的經(jīng)驗。軟件模式是一種新的概念,是軟件工程師在長期的工作中總結(jié)出來的一個經(jīng)驗,其能有效地將復雜程序簡潔化,也為軟件開發(fā)行為提供了一個較完善的規(guī)范標準。但是,由于軟件模式是軟件開發(fā)、設計經(jīng)驗中的提煉,因此完全理解和使用過軟件模式還存在一點問題,如何在軟件設計開發(fā)過程中運用“軟件模式”這個缺乏系統(tǒng)化和理論化的指導思想是目前仍需要研究的問題。相信在以后的實踐中,通過不斷地深入了解和完善軟件模式,一定能夠有效地解決以上問題。參考文獻:1彭鑫,趙文耘,夏寬理,沈鋮;基于Java的軟件再工程支持工具研究J;計算機工程與應用;2003年18期2張堃;黃莊莊;從C/S遺留系統(tǒng)升級到Web環(huán)境的軟件再工程A;第九屆全國青年通信學術(shù)會
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 服務醫(yī)療合作合同協(xié)議書
- 酒店加盟及運營合同
- 農(nóng)業(yè)數(shù)字化轉(zhuǎn)型戰(zhàn)略規(guī)劃咨詢合同
- 年度旅游景區(qū)綜合管理服務合同
- 2025年我國呼吸道傳染病流行情況課件
- 保潔員醫(yī)學知識培訓課件
- 籃球賽開幕式致辭(29篇)
- 新學期的學習計劃書
- 醫(yī)療整改報告范文(23篇)
- 轉(zhuǎn)正工作心得總結(jié)(6篇)
- 初中數(shù)學幾何《旋轉(zhuǎn)模型費馬點》壓軸題含答案解析
- 2025年中國中信集團招聘筆試參考題庫含答案解析
- 江西省宜春市豐城市第九中學2024-2025學年九年級上學期第二次段考化學試卷(日新班)(無答案)
- 燃氣公司安全生產(chǎn)實施方案
- 【MOOC】涂附磨具-河南工業(yè)大學 中國大學慕課MOOC答案
- 2024解析:第十四章內(nèi)能的利用-基礎(chǔ)練(解析版)
- 2024年湖南省初中學業(yè)水平考試·數(shù)學
- 機電設備安裝與調(diào)試技術(shù)教案
- TGDCMA 022-2024 信用園區(qū)評價規(guī)范
- 以諾書-中英對照
- 2024年中職高考數(shù)學計算訓練 專題11 平面向量的基本計算(含答案解析)
評論
0/150
提交評論