黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 面向?qū)ο笤O(shè)計(jì)模式總結(jié)

面向?qū)ο笤O(shè)計(jì)模式總結(jié)

更新時(shí)間:2021-08-10 13:59:31 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1707次

軟件設(shè)計(jì)模式的產(chǎn)生背景

設(shè)計(jì)模式是java語言中必不可少的,因此我們要對(duì)它的背景也要有所了解。“設(shè)計(jì)模式”這個(gè)術(shù)語最初并不是出現(xiàn)在軟件設(shè)計(jì)中,而是被用于建筑領(lǐng)域的設(shè)計(jì)中。

1977 年,美國著名建筑大師、加利福尼亞大學(xué)伯克利分校環(huán)境結(jié)構(gòu)中心主任克里斯托夫·亞歷山大(Christopher Alexander)在他的著作《建筑模式語言:城鎮(zhèn)、建筑、構(gòu)造(A Pattern Language: Towns Building Construction)中描述了一些常見的建筑設(shè)計(jì)問題,并提出了 253 種關(guān)于對(duì)城鎮(zhèn)、鄰里、住宅、花園和房間等進(jìn)行設(shè)計(jì)的基本模式。

1979 年他的另一部經(jīng)典著作《建筑的永恒之道》(The Timeless Way of Building)進(jìn)一步強(qiáng)化了設(shè)計(jì)模式的思想,為后來的建筑設(shè)計(jì)指明了方向。

1987 年,肯特·貝克(Kent Beck)和沃德·坎寧安(Ward Cunningham)首先將克里斯托夫·亞歷山大的模式思想應(yīng)用在 Smalltalk 中的圖形用戶接口的生成中,但沒有引起軟件界的關(guān)注。

直到 1990 年,軟件工程界才開始研討設(shè)計(jì)模式的話題,后來召開了多次關(guān)于設(shè)計(jì)模式的研討會(huì)。

1995 年,艾瑞克·伽馬(ErichGamma)、理査德·海爾姆(Richard Helm)、拉爾夫·約翰森(Ralph Johnson)、約翰·威利斯迪斯(John Vlissides)等 4 位作者合作出版了《設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》(Design Patterns: Elements of Reusable Object-Oriented Software)一書,在本教程中收錄了 23 個(gè)設(shè)計(jì)模式,這是設(shè)計(jì)模式領(lǐng)域里程碑的事件,導(dǎo)致了軟件設(shè)計(jì)模式的突破。這 4 位作者在軟件開發(fā)領(lǐng)域里也以他們的“四人組”(Gang of Four,GoF)匿名著稱。

面向?qū)ο笤O(shè)計(jì)模式總結(jié)

軟件設(shè)計(jì)模式的概念與意義

1.軟件設(shè)計(jì)模式的概念

軟件設(shè)計(jì)模式(Software Design Pattern),又稱設(shè)計(jì)模式,是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。它描述了在軟件設(shè)計(jì)過程中的一些不斷重復(fù)發(fā)生的問題,以及該問題的解決方案。也就是說,它是解決特定問題的一系列套路,是前輩們的代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié),具有一定的普遍性,可以反復(fù)使用。其目的是為了提高代碼的可重用性、代碼的可讀性和代碼的可靠性。

2.學(xué)習(xí)設(shè)計(jì)模式的意義

設(shè)計(jì)模式的本質(zhì)是面向?qū)ο笤O(shè)計(jì)原則的實(shí)際運(yùn)用,是對(duì)類的封裝性、繼承性和多態(tài)性以及類的關(guān)聯(lián)關(guān)系和組合關(guān)系的充分理解。正確使用設(shè)計(jì)模式具有以下優(yōu)點(diǎn)。

可以提高程序員的思維能力、編程能力和設(shè)計(jì)能力。

使程序設(shè)計(jì)更加標(biāo)準(zhǔn)化、代碼編制更加工程化,使軟件開發(fā)效率大大提高,從而縮短軟件的開發(fā)周期。

使設(shè)計(jì)的代碼可重用性高、可讀性強(qiáng)、可靠性高、靈活性好、可維護(hù)性強(qiáng)。

當(dāng)然,軟件設(shè)計(jì)模式只是一個(gè)引導(dǎo)。在具體的軟件幵發(fā)中,必須根據(jù)設(shè)計(jì)的應(yīng)用系統(tǒng)的特點(diǎn)和要求來恰當(dāng)選擇。對(duì)于簡(jiǎn)單的程序開發(fā),苛能寫一個(gè)簡(jiǎn)單的算法要比引入某種設(shè)計(jì)模式更加容易。但對(duì)大項(xiàng)目的開發(fā)或者框架設(shè)計(jì),用設(shè)計(jì)模式來組織代碼顯然更好。

軟件設(shè)計(jì)模式的基本要素

軟件設(shè)計(jì)模式使人們可以更加簡(jiǎn)單方便地復(fù)用成功的設(shè)計(jì)和體系結(jié)構(gòu),它通常包含以下幾個(gè)基本要素:模式名稱、別名、動(dòng)機(jī)、問題、解決方案、效果、結(jié)構(gòu)、模式角色、合作關(guān)系、實(shí)現(xiàn)方法、適用性、已知應(yīng)用、例程、模式擴(kuò)展和相關(guān)模式等,其中最關(guān)鍵的元素包括以下 4 個(gè)主要部分。

1.模式名稱

每一個(gè)模式都有自己的名字,通常用一兩個(gè)詞來描述,可以根據(jù)模式的問題、特點(diǎn)、解決方案、功能和效果來命名。模式名稱(PatternName)有助于我們理解和記憶該模式,也方便我們來討論自己的設(shè)計(jì)。

2.問題

問題(Problem)描述了該模式的應(yīng)用環(huán)境,即何時(shí)使用該模式。它解釋了設(shè)計(jì)問題和問題存在的前因后果,以及必須滿足的一系列先決條件。

3.解決方案

模式問題的解決方案(Solution)包括設(shè)計(jì)的組成成分、它們之間的相互關(guān)系及各自的職責(zé)和協(xié)作方式。因?yàn)槟J骄拖褚粋€(gè)模板,可應(yīng)用于多種不同場(chǎng)合,所以解決方案并不描述一個(gè)特定而具體的設(shè)計(jì)或?qū)崿F(xiàn),而是提供設(shè)計(jì)問題的抽象描述和怎樣用一個(gè)具有一般意義的元素組合(類或?qū)ο蟮慕M合)來解決這個(gè)問題。

4.效果

描述了模式的應(yīng)用效果以及使用該模式應(yīng)該權(quán)衡的問題,即模式的優(yōu)缺點(diǎn)。主要是對(duì)時(shí)間和空間的衡量,以及該模式對(duì)系統(tǒng)的靈活性、擴(kuò)充性、可移植性的影響,也考慮其實(shí)現(xiàn)問題。顯式地列出這些效果(Consequence)對(duì)理解和評(píng)價(jià)這些模式有很大的幫助。

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"面向?qū)ο笤O(shè)計(jì)模式總結(jié)",希望對(duì)大家有幫助,想了解更多可查看Java設(shè)計(jì)模式。動(dòng)力節(jié)點(diǎn)在線學(xué)習(xí)教程,針對(duì)沒有任何Java基礎(chǔ)的讀者學(xué)習(xí),讓你從入門到精通,主要介紹了一些Java基礎(chǔ)的核心知識(shí),讓同學(xué)們更好更方便的學(xué)習(xí)和了解Java編程,感興趣的同學(xué)可以關(guān)注一下。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 免费亚洲一区 | 亚洲精品高清国产麻豆专区 | 亚洲国产精品激情在线观看 | 国产123区在线视频观看 | 日本的黄色一级片 | 人操人人| 亚洲丁香色婷婷综合欲色啪 | 免费一级毛片在线观看 | 国产清纯91天堂在线观看 | 午夜高清免费在线观看 | 成人影院免费在线观看 | 日韩午夜免费 | 五月激情视频 | 国产成人精彩在线视频50 | 国产高清狼人香蕉在线观看 | 亚洲欧洲日韩 | 欧美狂交 | 免费观看a级毛片在线播放 免费观看a级完整视频 | 一级特级毛片 | 免费被黄网站在观看 | 精品国产第一国产综合精品 | 欧美黄色三级视频 | 亚洲视频1区 | 欧美ay亚洲ay日韩ay | 黄色国产大片 | 精品91自产拍在线观看一区 | 免费一级视频在线播放 | 天天干天天干天天干天天 | 视频一区日韩 | 91亚洲国产成人久久精品网站 | 成人羞羞视频免费看 | 最近中文字幕免费在线看 | 亚洲日本中文字幕在线 | 一级片麻豆 | 国产日本亚洲欧美 | 久草香蕉视频在线观看 | 国产盗摄一区二区欧美精品 | 一级特级欧美午夜片免费观看 | 人人干人人玩 | 国产免费一区2区3区4区 | 日日干天天插 |