设计模式杂谈(一)——设计模式概述
文章目錄
- 1 設計模式概述
- 1.1 軟件設計模式的產生背景
- 1.2 軟件設計模式的概念
- 1.3 設計模式的必要性
- 1.4 設計模式分類
1 設計模式概述
1.1 軟件設計模式的產生背景
設計模式最初并不是在軟件設計中,而是被用于建筑領域的設計中。
1977年美國著名建筑大師、加利福尼亞大學伯克利分校環境結構中心主任克里斯托福·亞歷山大在它的著作《建筑模式:城鎮、建筑、構造》中描述了一些常見的建筑設計問題,并提出了253種關于對城鎮、鄰里、住宅、花園和房間等各種結構設計的基本模式。
1990年軟件工程界開始研討設計模式的話題,后來召開了多次關于設計模式的研討會。知道1995年,艾瑞克·伽馬、理查德·海德姆、拉爾夫·約翰森、約翰·威利斯迪斯等4位作何合作出版了《設計模式:可復用面向對象軟件的基礎》一書,這本書被稱為設計模式的開山鼻祖。在此書中,收錄了共23個設計模式,導致了在此領域中出現了驚人的突破。而后,在軟件開發領域中,這4位作者組成四人組也被稱為GOF。
1.2 軟件設計模式的概念
軟件設計模式又簡稱為設計模式,是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。它描述了在軟件設計過程中的一些不斷重復發生的問題,以及該問題的解決方案,也就是說,它是解決特定問題的一系列套路,是前輩們的代碼設計經驗的總結,具有一定的普遍性,可以反復使用。
1.3 設計模式的必要性
設計模式的本質是面向對象設計原則的實際運用,是對類的封裝性、繼承性和多態性以及類的關聯關系和組合關系的充分理解。
正確使用設計模式具有以下優點:
- 可以提高程序員的思維能力、編程能力和設計能力
- 使得程序設計更加標準化、代碼編制更加工程化,使軟件開發效率大大提高,從而縮短軟件的開發周期
- 使設計的代碼可重用性高、可讀性高、可靠性高、靈活性好、可維護性強
1.4 設計模式分類
創建型模式
用于描述怎么創建對象,它的主要特點是將對象的創建與使用分離。GOF書中提供了單例、原型、工廠、抽象工廠、建造者等5種創建型模式。
結構型模式
用于描述如何將類或對象按某種布局組成更大的結構,GOF書中提供了代理、適配器、橋接、裝飾、外觀、享元、組合等7種結構型模式。
行為型模式
用于描述類或對象之間怎么去相互協作共同完成單個對象無法單獨完成的任務,以及怎樣分配職責。GOF書中提供了模板、策略、命令、職責鏈、狀態、觀察者、中介者、迭代器、訪問者、備忘錄、解釋器等11種行為型模式。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的设计模式杂谈(一)——设计模式概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php打补丁,PHPMailer库打补丁
- 下一篇: 《WinForm开发系列之高级篇》Ite