版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
經(jīng)典word整理文檔,僅參考,雙擊此處可刪除頁眉頁腳。本資料屬于網(wǎng)絡(luò)整理,如有侵權(quán),請聯(lián)系刪除,謝謝!1引言從上世紀(jì)60年代末開始,由于計(jì)算機(jī)軟件對生產(chǎn)力有巨大的推動(dòng)作用,各可維護(hù)性明顯降低,軟件行業(yè)出現(xiàn)了危機(jī)。直到80年代,軟件開發(fā)采用面向?qū)θ?,往往修改一處代碼會帶來無法預(yù)測的后果;系統(tǒng)復(fù)用率低,黏度過高等等。為了避免上述缺陷,設(shè)計(jì)出具備良好的可擴(kuò)展性、可復(fù)用性、易維護(hù)性的系統(tǒng),我們應(yīng)在系統(tǒng)設(shè)計(jì)和實(shí)踐階段采用設(shè)計(jì)模式的思想。設(shè)計(jì)模式是軟件復(fù)用技術(shù)中的一個(gè)重要概念[1]對象的軟件設(shè)計(jì)經(jīng)驗(yàn)記錄下來,并予以系統(tǒng)的命名、解釋和評價(jià),使不同的開發(fā)人員在進(jìn)行不同系統(tǒng)的設(shè)計(jì)與開發(fā)時(shí),可以使用別人的成功經(jīng)驗(yàn)而不必為普通的、重復(fù)的問題重新設(shè)計(jì)解決方案,使設(shè)計(jì)者更容易理解其設(shè)計(jì)思路,能為自己設(shè)計(jì)模式的種類日益增多,相對于GoF在1994年提出的23種通用設(shè)計(jì)模式,來進(jìn)行探討。[2]2從設(shè)計(jì)原則到設(shè)計(jì)模式2.1設(shè)計(jì)原則對象有幾個(gè)原則:開閉原則、里氏代換原則、依賴倒轉(zhuǎn)原則、接口隔離原則、合成/聚合復(fù)用原則、最小知識原則、單一職責(zé)原則和抽象原則。開閉原則具有理性的目的。(1)開閉原則在不修改原來代碼的情況下進(jìn)行擴(kuò)展。這樣在擴(kuò)展的同時(shí)對舊版本有很好的支持,使得系統(tǒng)更加靈活,具有很強(qiáng)的適應(yīng)性。(2)里氏代換原則現(xiàn)好的方法(相對于抽象方法而言),實(shí)際上是在設(shè)定一系列的規(guī)范和契約,雖任意修改,就會對整個(gè)繼承體系造成破壞。代碼復(fù)用的重要基礎(chǔ)。(3)合成復(fù)用原則合成是值的聚合,聚合是引用的聚合。合成和聚合都是關(guān)聯(lián)的特殊種類,聚合表示整體和部分的關(guān)系,表示“擁有”;合成則是一種更強(qiáng)的“擁有”,部分開發(fā)中應(yīng)盡量使用合成/聚合,而不是使用繼承。(4)依賴倒轉(zhuǎn)原則編程;傳遞參數(shù),或者在組合聚合關(guān)系中,盡量引用層次高的類。高層模塊不應(yīng)操作,把展現(xiàn)細(xì)節(jié)的任務(wù)交給他們的實(shí)現(xiàn)類去完成。(5)接口隔離原則小的接口上。建立單一接口,不要建立龐大臃腫的接口,盡量細(xì)化接口,接口中賴一個(gè)綜合的接口更靈活。接口是設(shè)計(jì)時(shí)對外部設(shè)定的“契約”,通過分散定義不能交給一個(gè)接口。(6)抽象原則用抽象構(gòu)建框架,用實(shí)現(xiàn)擴(kuò)展細(xì)節(jié)。因?yàn)槌橄箪`活性好,適應(yīng)性廣,只要抽類的共同屬性和方法。具體類是不被其他類所繼承的,即子類繼承了抽象類后,這個(gè)子類不應(yīng)再被其他類所繼承。(7)迪米特法則心做自己的事情而不去關(guān)心其他的事情,以降低耦合度。(8)單一職責(zé)原則面向?qū)ο缶幊趟枷胨赜械?,只要是模塊化的程序設(shè)計(jì),都適用單一職責(zé)原則。2.2設(shè)計(jì)模式設(shè)計(jì)模式是一些富有經(jīng)驗(yàn)的面向?qū)ο蠹夹g(shù)專家針對特定問題而設(shè)計(jì)的成功是設(shè)計(jì)模式。[1]代碼編制真正工程化,如同大廈的結(jié)構(gòu)一樣,設(shè)計(jì)模式是軟件工程的基石脈絡(luò)。一般而言,一個(gè)模式有四個(gè)基本要素:模式名稱、問題(描述應(yīng)該在何時(shí)使用模式)、解決方案(描述設(shè)計(jì)的組成成分、它們之間的相互關(guān)系及各自的職責(zé)和協(xié)作方式)、效果(描述模式應(yīng)用的效果及使用模式應(yīng)權(quán)衡的問題)。2.3設(shè)計(jì)思想種可重用的解決方案,在軟件工程中一個(gè)設(shè)計(jì)模式往往能解決一類軟件設(shè)計(jì)問和體系結(jié)構(gòu),采用設(shè)計(jì)模式的軟件系統(tǒng)具有更好的可維護(hù)性。軟件在不斷進(jìn)化,需求在不斷改變,所以軟件應(yīng)該適應(yīng)變化。設(shè)計(jì)模式是[3]讓變化的影響最?。环庋b復(fù)雜性,提供簡單的接口;針對接口編程,而不是針對實(shí)現(xiàn)編程;最大程度地繼承、組合、委托、多態(tài)和參數(shù)化。職責(zé)之間相關(guān)程度和集中程度的度量[4]相關(guān)的職責(zé)不要分派給同一個(gè)類。UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)。區(qū)分層次的目的即為了高內(nèi)聚,低耦合的思想??蓮?fù)用面向?qū)ο筌浖到y(tǒng)現(xiàn)在一般劃分為兩大類:應(yīng)用程序工具箱和框架,我們平時(shí)開發(fā)的具體軟件都是應(yīng)用程序,Java的API屬于工具箱;而框架是構(gòu)成一類特定軟件可復(fù)用設(shè)計(jì)的一組相互協(xié)作的類,EJB是Java應(yīng)用于企業(yè)計(jì)算中共同的設(shè)計(jì)決策,框架強(qiáng)調(diào)設(shè)計(jì)復(fù)用,因此框架設(shè)計(jì)中必然要使用設(shè)計(jì)模式。,熟悉這些設(shè)計(jì)模式可幫助我們掌握EJB、J2EE等框架的結(jié)構(gòu)。3GRASP職責(zé)分配模式與設(shè)計(jì)模式的應(yīng)用價(jià)值GRASP作為設(shè)計(jì)模式來描述對象設(shè)計(jì)和職責(zé)分配的基本原則。GRASP原Adapters所需的Adapter,我們應(yīng)用工廠模式,設(shè)計(jì)一個(gè),按系統(tǒng)當(dāng)前的要求實(shí)例化相應(yīng)的;為了系統(tǒng)中同一類的Adapters實(shí)例具有唯一的創(chuàng)建邏輯,我們應(yīng)用單實(shí)例類模式,使Factory在系統(tǒng)中僅有唯一的一個(gè)實(shí)例。的維護(hù)量。4小結(jié)方向
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧解決方案:智能城市管理
- 消防應(yīng)急避險(xiǎn)
- 3.2.3離子反應(yīng) 課件 高一上學(xué)期化學(xué)蘇教版(2019)必修第一冊
- 糖尿病個(gè)人教育與護(hù)理
- 傳統(tǒng)毛筆課件教學(xué)課件
- 日常生活食品安全
- 生產(chǎn)安全事故案例培訓(xùn)教材
- 布谷鳥節(jié)奏游戲教案反思
- 弧度制說課稿
- 海水的運(yùn)動(dòng)說課稿
- 夏商周考古課件 第4章 殷墟文化(4-6節(jié))
- JJG 667-2010液體容積式流量計(jì)
- GB/T 708-2019冷軋鋼板和鋼帶的尺寸、外形、重量及允許偏差
- GB/T 6072.4-2012往復(fù)式內(nèi)燃機(jī)性能第4部分:調(diào)速
- GB/T 1927.5-2021無疵小試樣木材物理力學(xué)性質(zhì)試驗(yàn)方法第5部分:密度測定
- GB/T 17395-2008無縫鋼管尺寸、外形、重量及允許偏差
- GB/T 14996-2010高溫合金冷軋板
- 【寫作講座】如何提升高中英語寫作能力
- 公路工程概論全套課件
- 全文《中國式現(xiàn)代化》PPT
- 《紅樓夢》深入研讀學(xué)習(xí)任務(wù)群設(shè)計(jì)
評論
0/150
提交評論