第3章+設(shè)計模式概述.ppt_第1頁
第3章+設(shè)計模式概述.ppt_第2頁
第3章+設(shè)計模式概述.ppt_第3頁
第3章+設(shè)計模式概述.ppt_第4頁
第3章+設(shè)計模式概述.ppt_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章,設(shè)計模式概要,劉偉衛(wèi)六_,教材,指定教材:劉偉.設(shè)計模式.北京:清華大學(xué)出版社,2011 .輔導(dǎo)教材(實驗教材) 劉偉.設(shè)計模式實習(xí)教程.北京:清華大學(xué)出版社設(shè)計模式的誕生和發(fā)展設(shè)計模式的定義和分類GoF設(shè)計模式概要設(shè)計模式的優(yōu)點,設(shè)計模式的誕生和發(fā)展模式的誕生和定義模式是軟件產(chǎn)業(yè)模式(Pattern ) 不是我的父親而是建筑業(yè)的父親,來自美國加利福尼亞大學(xué)環(huán)境構(gòu)造中心研究所所長Christopher Alexander博士A Pattern Language: Towns,Buildings。 Construction253建筑和城市修訂模型Context (模型適用的前提條件) T

2、heme或Problem (在特定條件下要解決的目標(biāo)問題) Solution (目標(biāo)問題解決過程中各種物理關(guān)系的記述)、設(shè)定修訂模型的誕生和發(fā)展、chh設(shè)計模式模式的產(chǎn)生和定義Alexander提供了關(guān)于模式的經(jīng)典定義:各模式描述了我們環(huán)境中不斷發(fā)生的問題,并描述了該問題解決方案的核心。 根據(jù)這個方式,我們可以多次重復(fù)使用現(xiàn)有的解決方案,不需要重復(fù)同樣的工作。 apatternisasolutiontoaprobleminacontext模型是在特定環(huán)境下解決問題的一種方案,設(shè)置修訂模型的誕生和發(fā)展,軟件模型1990年,軟件工程界推出了Christopher Alexander等1991-19

3、92年,“四人組(Gang of Four,GoF,分別是Erich Gamma,Richard Helm,Ralph Johnson和John view )”開始關(guān)注公共建筑和城市規(guī)劃領(lǐng)域的重大突破,最初將該模式的思想引入軟件工程方法論設(shè)計模式的誕生與發(fā)展、Gang of Four、設(shè)計模式的誕生與發(fā)展、Erich Gamma、蘇黎世大學(xué)計算機科學(xué)博士是Eclipse、JUnit等項目的主要技術(shù)負(fù)責(zé)人之一。 John Vlissides、斯坦福大學(xué)計算機科學(xué)博士、原IBM研究員于2005年11月24日死于腦腫瘤,享年44歲。 Ralph Johnson,墨爾本大學(xué)計算機科學(xué)博士,前IBM研究

4、員,現(xiàn)在在波士頓顧問小組工作。 Richard Helm,康奈爾大學(xué)計算機科學(xué)博士,伊利諾伊大學(xué)教授。 Gang of Four、設(shè)計模式的產(chǎn)生和發(fā)展、軟件模式軟件模式將模式的一般概念應(yīng)用于軟件開發(fā)領(lǐng)域,即軟件開發(fā)的總體指導(dǎo)思路和參考模板。 軟件模型不限于設(shè)計模型,也包括架構(gòu)模型、分析模型、過程模型等,實際上,在軟件生存期間的各個階段都存在被認(rèn)可的模型。 軟件模型可以被認(rèn)為是對軟件開發(fā)這一特定“問題”的“解法”的統(tǒng)一表示,它與Alexander描述的模型定義完全相同,即,等于軟件模型在一定條件下出現(xiàn)的問題和解法。 軟件模型的基礎(chǔ)架構(gòu)由問題描述、先決條件(環(huán)境或約束)、解決方案和效果四部分組成。

5、 設(shè)置修正模式的產(chǎn)生和發(fā)展,軟件模式,設(shè)置修正模式的產(chǎn)生和發(fā)展,軟件模式的軟件模式不管具體的應(yīng)用領(lǐng)域,在模式發(fā)現(xiàn)過程中大三律即三個以上不同類型(或不同領(lǐng)域)的系統(tǒng)的一個解決方案可以從候補模式升級到模式,設(shè)計模式的誕生和發(fā)展,設(shè)計模式的發(fā)展1987年,Kent Beck和Ward Cunningham參考Alexander的模式思想開始在程序開發(fā)中應(yīng)用一些模式1990年,OOPSLA與ECOOP共同舉辦,Erich Gamma和Richard Helm等人開始討論模式相關(guān)的話題(Bruce Anderson主持),“四人組”正式成立,著手設(shè)計模式的分類整理。 1991年,OOPSLA、Bruce

6、 Anderson主辦了第一次設(shè)計模式研討會。1992年,OOPSLA、Anderson再次主持研討會,模特成為討論的話題。 注意3360 oops la (對象定向編程,系統(tǒng),語言應(yīng)用程序,面向?qū)ο蟮木幊蹋到y(tǒng),語言和應(yīng)用大會),編程語言和軟件工程師Programming、languagesandapplications : softwareforhumanity、設(shè)計模式的誕生和發(fā)展、設(shè)計模式的發(fā)展在1993年,Kent Beck和Grady Booch是第一個設(shè)計模式1994年,Hillside Group成立,在美國伊利諾伊州(Illinois )的Allerton Park召開了第1

7、次面向?qū)ο竽P偷娜蛐詴h,plop (patternlanguagesofprograms,程序設(shè)計師) 可以重復(fù)使用面向?qū)ο筌浖幕A(chǔ)(design patterns : elementsofreusableobject-oriente CT ),設(shè)計模式的誕生和發(fā)展,設(shè)計模式的發(fā)展從1995年到現(xiàn)在,設(shè)計模式是Sun的Java SE/Java EE平臺和Microsoft的. net平臺設(shè)定訂正中應(yīng)用了大量的設(shè)計模式。 越來越多的設(shè)計模式相關(guān)書籍和網(wǎng)站誕生,設(shè)計模式也作為獨立授課和軟件架構(gòu)等授課的重要組成部分出現(xiàn)在國內(nèi)外的研究生和大學(xué)教育的課堂上。設(shè)計模式的定義和分類、設(shè)計模式的定義設(shè)計

8、模式(Design Pattern )反復(fù)使用,代碼可以重復(fù)使用,代碼可以由他人使用設(shè)計模式的定義和分類,設(shè)計模式的基本要素設(shè)計模式一般包括模式名稱、問題、目的、解決方法、效果、實例代碼以及相關(guān)設(shè)計模式的主要要素是模式名稱問題效果(Consequences )、設(shè)計模式的定義和分類設(shè)計模式學(xué)習(xí)步驟在本書中,模式動機和定義模式構(gòu)造和分析模式實例和分析模式效果和應(yīng)用模式擴展、設(shè)計模式的定義和分類、設(shè)計模式的分類是其目的(模式是什么“創(chuàng)建”、“結(jié)構(gòu)”和“結(jié)構(gòu)”模式主要用于處理類或?qū)ο蟮慕M合。 行為模式主要用于描述如何與類和對象交互以及如何分配角色。設(shè)計模式的定義和分類、設(shè)計模式的分類根據(jù)范圍、即模式

9、主要處理類之間的關(guān)系還是處理對象之間的關(guān)系,分為類模式處理類和子類之間的關(guān)系,這些關(guān)系由繼承建立,編譯器對象模式處理對象之間的關(guān)系,并且這些關(guān)系在執(zhí)行時變化并且更為動態(tài)。GoF設(shè)置校正模式概述、GoF設(shè)置校正模式概述、成型模式抽象工廠模式創(chuàng)建者模式工廠方法模式原型模式精簡橋接模式(Bridge )復(fù)合模式(Composite )裝飾模式(Decorator )外觀模式(Facade )共享元模式(Flyweight )代理模式)行為模式責(zé)任鏈模式解釋器模式迭代器模式中介模式備注模式策略模式模板方法模式模式模板方法模式模板方法模板方法設(shè)計模式是從許多優(yōu)秀的軟件系統(tǒng)匯總而成的,能夠?qū)崿F(xiàn)維護性的再利

10、用的設(shè)計方案,通過使用這些方案我們避免重復(fù)的工作。 設(shè)計模式的主要優(yōu)點是:設(shè)計模式融合了許多專家的經(jīng)驗,以標(biāo)準(zhǔn)的形式被廣泛的開發(fā)者使用,提供共同的設(shè)計詞匯和共同的語言,使開發(fā)者之間的交流和交流變得容易,使設(shè)計方案變得更加容易理解。 使用不同編程語言的開發(fā)者和設(shè)定修正者可以通過設(shè)定修正模式來交流系統(tǒng)設(shè)定修正方案,各個模式對應(yīng)于標(biāo)準(zhǔn)的解決方案,設(shè)定修正模式可以降低開發(fā)者理解系統(tǒng)的復(fù)雜性。 設(shè)計模式的優(yōu)點、設(shè)計模式使人們成功的設(shè)計和體系結(jié)構(gòu)更容易重復(fù)利用,將經(jīng)驗證的技術(shù)表現(xiàn)為設(shè)計模式也使新系統(tǒng)開發(fā)者更容易理解其設(shè)計構(gòu)想。 使用設(shè)計模式可以使成功的設(shè)計更容易重復(fù)使用,避免不可重復(fù)使用的設(shè)計。 設(shè)計模式

11、使設(shè)計的靈活性和修改變得容易。 使用設(shè)置修訂模型可以提高軟件系統(tǒng)的開發(fā)效率和軟件質(zhì)量,在一定程度上降低設(shè)置修訂成本。 設(shè)計模式有助于初學(xué)者更深入地理解面向?qū)ο蟮乃枷?,有助于初學(xué)者更容易理解現(xiàn)有類庫和其他系統(tǒng)的源代碼,同時能夠提高軟件的設(shè)計水平和代碼質(zhì)量。 中的組合圖層性質(zhì)變更選項。 在本章中,模型是在特定環(huán)境下解決問題的解決方案。 GoF (Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides )首先將模型的概念導(dǎo)入軟件工程領(lǐng)域,他們匯總發(fā)表了23種在軟件開發(fā)中使用頻繁的設(shè)定修正模型, 以使用模型來統(tǒng)一面向?qū)ο蟮姆椒ǖ姆治觥⒃O(shè)定修正為目的的軟件模型,是將模型的概念應(yīng)用于軟件開發(fā)領(lǐng)域,即軟件開發(fā)的整體的指導(dǎo)構(gòu)想和參照模板的東西。 軟件模型被認(rèn)為是對軟件開發(fā)這一特定“問題”的具有“解法”的統(tǒng)一表示,即,軟件模型等于在一定條件下的問題和解法。 本章總結(jié),設(shè)計模式重復(fù)使用,很多人知道,分類,代碼設(shè)計經(jīng)驗總結(jié),使用設(shè)計模式是為了代碼可以重復(fù)使用,代碼容易被他人理解,保證代碼的可靠性。 設(shè)計模式包括

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論