設計模式對系統(tǒng)設計與實現(xiàn)的影響_第1頁
設計模式對系統(tǒng)設計與實現(xiàn)的影響_第2頁
設計模式對系統(tǒng)設計與實現(xiàn)的影響_第3頁
設計模式對系統(tǒng)設計與實現(xiàn)的影響_第4頁
設計模式對系統(tǒng)設計與實現(xiàn)的影響_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

經(jīng)典word整理文檔,僅參考,雙擊此處可刪除頁眉頁腳。本資料屬于網(wǎng)絡整理,如有侵權(quán),請聯(lián)系刪除,謝謝!1引言從上世紀60年代末開始,由于計算機軟件對生產(chǎn)力有巨大的推動作用,各可維護性明顯降低,軟件行業(yè)出現(xiàn)了危機。直到80年代,軟件開發(fā)采用面向?qū)θ酰薷囊惶幋a會帶來無法預測的后果;系統(tǒng)復用率低,黏度過高等等。為了避免上述缺陷,設計出具備良好的可擴展性、可復用性、易維護性的系統(tǒng),我們應在系統(tǒng)設計和實踐階段采用設計模式的思想。設計模式是軟件復用技術(shù)中的一個重要概念[1]對象的軟件設計經(jīng)驗記錄下來,并予以系統(tǒng)的命名、解釋和評價,使不同的開發(fā)人員在進行不同系統(tǒng)的設計與開發(fā)時,可以使用別人的成功經(jīng)驗而不必為普通的、重復的問題重新設計解決方案,使設計者更容易理解其設計思路,能為自己設計模式的種類日益增多,相對于GoF在1994年提出的23種通用設計模式,來進行探討。[2]2從設計原則到設計模式2.1設計原則對象有幾個原則:開閉原則、里氏代換原則、依賴倒轉(zhuǎn)原則、接口隔離原則、合成/聚合復用原則、最小知識原則、單一職責原則和抽象原則。開閉原則具有理性的目的。(1)開閉原則在不修改原來代碼的情況下進行擴展。這樣在擴展的同時對舊版本有很好的支持,使得系統(tǒng)更加靈活,具有很強的適應性。(2)里氏代換原則現(xiàn)好的方法(相對于抽象方法而言),實際上是在設定一系列的規(guī)范和契約,雖任意修改,就會對整個繼承體系造成破壞。代碼復用的重要基礎。(3)合成復用原則合成是值的聚合,聚合是引用的聚合。合成和聚合都是關(guān)聯(lián)的特殊種類,聚合表示整體和部分的關(guān)系,表示“擁有”;合成則是一種更強的“擁有”,部分開發(fā)中應盡量使用合成/聚合,而不是使用繼承。(4)依賴倒轉(zhuǎn)原則編程;傳遞參數(shù),或者在組合聚合關(guān)系中,盡量引用層次高的類。高層模塊不應操作,把展現(xiàn)細節(jié)的任務交給他們的實現(xiàn)類去完成。(5)接口隔離原則小的接口上。建立單一接口,不要建立龐大臃腫的接口,盡量細化接口,接口中賴一個綜合的接口更靈活。接口是設計時對外部設定的“契約”,通過分散定義不能交給一個接口。(6)抽象原則用抽象構(gòu)建框架,用實現(xiàn)擴展細節(jié)。因為抽象靈活性好,適應性廣,只要抽類的共同屬性和方法。具體類是不被其他類所繼承的,即子類繼承了抽象類后,這個子類不應再被其他類所繼承。(7)迪米特法則心做自己的事情而不去關(guān)心其他的事情,以降低耦合度。(8)單一職責原則面向?qū)ο缶幊趟枷胨赜械?,只要是模塊化的程序設計,都適用單一職責原則。2.2設計模式設計模式是一些富有經(jīng)驗的面向?qū)ο蠹夹g(shù)專家針對特定問題而設計的成功是設計模式。[1]代碼編制真正工程化,如同大廈的結(jié)構(gòu)一樣,設計模式是軟件工程的基石脈絡。一般而言,一個模式有四個基本要素:模式名稱、問題(描述應該在何時使用模式)、解決方案(描述設計的組成成分、它們之間的相互關(guān)系及各自的職責和協(xié)作方式)、效果(描述模式應用的效果及使用模式應權(quán)衡的問題)。2.3設計思想種可重用的解決方案,在軟件工程中一個設計模式往往能解決一類軟件設計問和體系結(jié)構(gòu),采用設計模式的軟件系統(tǒng)具有更好的可維護性。軟件在不斷進化,需求在不斷改變,所以軟件應該適應變化。設計模式是[3]讓變化的影響最?。环庋b復雜性,提供簡單的接口;針對接口編程,而不是針對實現(xiàn)編程;最大程度地繼承、組合、委托、多態(tài)和參數(shù)化。職責之間相關(guān)程度和集中程度的度量[4]相關(guān)的職責不要分派給同一個類。UI)、業(yè)務邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)。區(qū)分層次的目的即為了高內(nèi)聚,低耦合的思想??蓮陀妹嫦?qū)ο筌浖到y(tǒng)現(xiàn)在一般劃分為兩大類:應用程序工具箱和框架,我們平時開發(fā)的具體軟件都是應用程序,Java的API屬于工具箱;而框架是構(gòu)成一類特定軟件可復用設計的一組相互協(xié)作的類,EJB是Java應用于企業(yè)計算中共同的設計決策,框架強調(diào)設計復用,因此框架設計中必然要使用設計模式。,熟悉這些設計模式可幫助我們掌握EJB、J2EE等框架的結(jié)構(gòu)。3GRASP職責分配模式與設計模式的應用價值GRASP作為設計模式來描述對象設計和職責分配的基本原則。GRASP原Adapters所需的Adapter,我們應用工廠模式,設計一個,按系統(tǒng)當前的要求實例化相應的;為了系統(tǒng)中同一類的Adapters實例具有唯一的創(chuàng)建邏輯,我們應用單實例類模式,使Factory在系統(tǒng)中僅有唯一的一個實例。的維護量。4小結(jié)方向

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論