大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 面向對象設計模式總結

面向對象設計模式總結

更新時間:2021-08-10 13:59:31 來源:動力節點 瀏覽1544次

軟件設計模式的產生背景

設計模式是java語言中必不可少的,因此我們要對它的背景也要有所了解。“設計模式”這個術語最初并不是出現在軟件設計中,而是被用于建筑領域的設計中。

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

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

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

直到 1990 年,軟件工程界才開始研討設計模式的話題,后來召開了多次關于設計模式的研討會。

1995 年,艾瑞克·伽馬(ErichGamma)、理査德·海爾姆(Richard Helm)、拉爾夫·約翰森(Ralph Johnson)、約翰·威利斯迪斯(John Vlissides)等 4 位作者合作出版了《設計模式:可復用面向對象軟件的基礎》(Design Patterns: Elements of Reusable Object-Oriented Software)一書,在本教程中收錄了 23 個設計模式,這是設計模式領域里程碑的事件,導致了軟件設計模式的突破。這 4 位作者在軟件開發領域里也以他們的“四人組”(Gang of Four,GoF)匿名著稱。

面向對象設計模式總結

軟件設計模式的概念與意義

1.軟件設計模式的概念

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

2.學習設計模式的意義

設計模式的本質是面向對象設計原則的實際運用,是對類的封裝性、繼承性和多態性以及類的關聯關系和組合關系的充分理解。正確使用設計模式具有以下優點。

可以提高程序員的思維能力、編程能力和設計能力。

使程序設計更加標準化、代碼編制更加工程化,使軟件開發效率大大提高,從而縮短軟件的開發周期。

使設計的代碼可重用性高、可讀性強、可靠性高、靈活性好、可維護性強。

當然,軟件設計模式只是一個引導。在具體的軟件幵發中,必須根據設計的應用系統的特點和要求來恰當選擇。對于簡單的程序開發,苛能寫一個簡單的算法要比引入某種設計模式更加容易。但對大項目的開發或者框架設計,用設計模式來組織代碼顯然更好。

軟件設計模式的基本要素

軟件設計模式使人們可以更加簡單方便地復用成功的設計和體系結構,它通常包含以下幾個基本要素:模式名稱、別名、動機、問題、解決方案、效果、結構、模式角色、合作關系、實現方法、適用性、已知應用、例程、模式擴展和相關模式等,其中最關鍵的元素包括以下 4 個主要部分。

1.模式名稱

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

2.問題

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

3.解決方案

模式問題的解決方案(Solution)包括設計的組成成分、它們之間的相互關系及各自的職責和協作方式。因為模式就像一個模板,可應用于多種不同場合,所以解決方案并不描述一個特定而具體的設計或實現,而是提供設計問題的抽象描述和怎樣用一個具有一般意義的元素組合(類或對象的組合)來解決這個問題。

4.效果

描述了模式的應用效果以及使用該模式應該權衡的問題,即模式的優缺點。主要是對時間和空間的衡量,以及該模式對系統的靈活性、擴充性、可移植性的影響,也考慮其實現問題。顯式地列出這些效果(Consequence)對理解和評價這些模式有很大的幫助。

以上就是動力節點小編介紹的"面向對象設計模式總結",希望對大家有幫助,想了解更多可查看Java設計模式。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产精品亚洲一区二区三区久久 | 九色国产在视频线精品视频 | 国产在线拍揄自揄视频不卡99 | 亚洲你懂的 | 国产1区2区3区在线观看 | 伊在人香蕉99久久 | 国产高清ujzzujzz | 国产亚洲欧美日韩综合另类 | 亚洲综合一区二区三区四区 | 奇米第四色网站 | 亚洲一区在线视频 | 香蕉亚洲精品一区二区 | 男女羞羞视频免费观看 | 一区二区国产在线播放 | 久久免费精品 | 精品久久综合一区二区 | 欧美日本一二三区 | 亚洲国产成人久久综合一区77 | 羞羞视频网 | 国产三级精品三级男人的天堂 | 精品福利一区二区三区免费视频 | 久久成人动漫 | 岛国精品在线 | 四虎影视库国产精品一区 | 国产精品欧美亚洲韩国日本99 | 成人爽a毛片在线视频网站 成人爽视频 | 亚洲美女啪啪 | 婷婷色中文 | 久久伊人中文字幕有码 | 久草视频免费在线播放 | 欧美6699在线视频免费 | 日本一区二区在线播放 | 香蕉久热 | 亚洲免费在线观看 | 久久精品这里是免费国产 | 欧美一级毛片免费大全 | 亚洲欧美日韩图片 | 精品一区二区乱码久久乱码 | 日韩私人影院 | 奇米在线播放 | 欧美综合天天夜夜久久 |