設計模式(二) 概述和分類

2021-09-27 00:10:03 字數 1449 閱讀 3312

設計模式(design pattern)是一套被反覆使用、多數人知曉的、經過分類編目的、**設計經驗的總結,代表了最佳的實踐,通常被有經驗的物件導向的軟體開發人員所採用。設計模式是軟體開發人員在軟體開發過程中面臨的一般問題的解決方案,這些解決方案是眾多軟體開發人員經過相當長的一段時間的試驗和錯誤總結出來的。使用設計模式是為了提高軟體的維護性、通用性、擴充套件性和可靠性。

了解設計模式,就需要了解四人幫(gang of four,簡稱gof,分別是erich gamma、richard helm、ralph johnson、john vlissides四人),這四人合著出版了一本名為《design patterns - elements of reusable object - oriented software》(設計模式-可復用的物件導向軟體元素),該書中首次提到了設計模式的概念,共收錄了23種設計模式。但是人的思維是無限的,不能僅僅把設計模式侷限於這23中,從不同的地方去了解,也不止23種設計模式。

基本的設計模式可以分成三類,這裡除了四人幫書中的23種設計模式,這23種設計模式的中文翻譯和英文原版書中介紹一致,可能與其它文獻以及大家的翻譯和解釋有所不同,後續詳細介紹時會有所提及。還有2種來自菜鳥教程。

建立型模式:建立型模式提供的是一種建立物件的模式,不是簡單的new乙個物件,使建立物件更加靈活,以滿足某些問題的需求。

單例(singleton)模式

工廠方法(factory method)模式

抽象工廠(abstract factory)模式

原型(prototype)模式

建造者(builder)模式。

結構型模式:結構型模式站在軟體和系統結構的角度上,關注類和物件的組合,使軟體結構更加合理。

介面卡(adapter)模式

橋接(bridge)模式

組合(composite)模式

裝飾器(decorator)模式

外觀(facade)模式

享元(flyweight)模式

**(proxy)模式

過濾器(filter、criteria)模式:來自菜鳥教程

行為型模式:行為型模式站在方法的角度上,關注物件之間的通訊(即方法的呼叫),使方法的設計和呼叫更加合理。

責任鏈(chain of responsibility)模式

命令(command)模式

直譯器(interpreter)模式

迭代器(iterator)模式

中介者(mediator)模式

備忘錄(memento)模式

觀察者(observer)模式

狀態(state)模式

策略(strategy)模式

模板方法(template method)模式

訪問者(visitor)模式

空物件(null object)模式:來自菜鳥教程

其實,我們學習設計模式,是為了學習其中的設計理念,在實際使用過程中,要注意靈活運用,不能被其解釋或者示例給束縛手腳。

設計模式 設計模式的概述和分類

設計模式概述 設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了可重用 讓 更容易被他人理解 保證 可靠性。設計模式不是一種方法和技術,而是一種思想 設計模式和具體的語言無關,學習設計模式就是要建立物件導向的思想,盡可能的面向介...

設計模式概述 分類

a 設計模式概述 設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了可重用 讓 更容易被他人理解 保證 可靠性以及 的結構更加清晰.b 設計模式分類 建立型模式 建立物件的 單例模式 抽象工廠模式 建造者模式 工廠模式 原型模式...

23種設計模式概述(分類和原則)

設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類的 設計經驗的總結。使用設計模式的目的 為了 可重用性 讓 更容易被他人理解 保證 可靠性。設計模式使 編寫真正工程化 設計模式是 軟體工程 的基石脈絡。建立型模式 5鐘,物件例項化的模式,建立型模式用於解耦物件的例項化...