傳送門(**):
附(github設計模式):
(方便以後自己以後查閱,就直接拷過來了)
根據設計模式的參考書 中所提到的,總共有 23 種設計模式。這些模式可以分為三大類:建立型模式(creational patterns)、結構型模式(structural patterns)、行為型模式(beh**ioral patterns)
這些設計模式提供了一種在建立物件的同時隱藏建立邏輯的方式,而不是使用新的運算子直接例項化物件。這使得程式在判斷針對某個給定例項需要建立哪些物件時更加靈活。
工廠模式:定義乙個建立物件的介面,讓其子類自己決定例項化哪乙個工廠類,工廠模式使其建立過程延遲到子類進行。
單例模式:保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。
建造者模式:將乙個複雜的構建與其表示相分離,使得同樣的構建過程可以建立不同的表示。
原型模式:用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。
這些設計模式關注類和物件的組合。繼承的概念被用來組合介面和定義組合物件獲得新功能的方式。
介面卡模式:將乙個類的介面轉換成客戶希望的另外乙個介面。介面卡模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。
橋接模式:將抽象部分與實現部分分離,使它們都可以獨立的變化。
過濾器模式:這種模式允許開發人員使用不同的標準來過濾一組物件,通過邏輯運算以解耦的方式把它們連線起來
組合模式:將物件組合成樹形結構以表示"部分-整體"的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。
裝飾器模式:動態地給乙個物件新增一些額外的職責。就增加功能來說,裝飾器模式相比生成子類更為靈活。
外觀模式:為子系統中的一組介面提供乙個一致的介面,外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。
享元模式:運用共享技術有效地支援大量細粒度的物件。
**模式:為其他物件提供一種**以控制對這個物件的訪問。
這些設計模式特別關注物件之間的通訊。
責任鏈模式:避免請求傳送者與接收者耦合在一起,讓多個物件都有可能接收請求,將這些物件連線成一條鏈,並且沿著這條鏈傳遞請求,直到有物件處理它為止。
命令模式:將乙個請求封裝成乙個物件,從而使您可以用不同的請求對客戶進行引數化。
直譯器模式:給定乙個語言,定義它的文法表示,並定義乙個直譯器,這個直譯器使用該標識來解釋語言中的句子。
迭代器模式:提供一種方法順序訪問乙個聚合物件中各個元素, 而又無須暴露該物件的內部表示。
中介者模式:用乙個中介物件來封裝一系列的物件互動,中介者使各物件不需要顯式地相互引用,從而使其耦合鬆散,而且可以獨立地改變它們之間的互動。
備忘錄模式:在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。
狀態模式:定義物件間的一種一對多的依賴關係,當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並被自動更新。
空物件模式:在空物件模式中,我們建立乙個指定各種要執行的操作的抽象類和擴充套件該類的實體類,還建立乙個未對該類做任何實現的空物件類,該空物件類將無縫地使用在需要檢查空值的地方。
策略模式:定義一系列的演算法,把它們乙個個封裝起來, 並且使它們可相互替換。
模板模式:定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。
訪問者模式:主要將資料結構與資料操作分離。
23 中設計模式
一 設計模式定義 設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。二 設計模式與框架 框架設計中必然要使用設計模式.另外,設計模式有助於對框架結構的理解,成熟的框架通常使用了多種設計模式,如果你熟悉這些設計模式,這會有助於你更好的使用框架。三 ...
23中設計模式
按照目的來分,設計模式可以分為建立型模式 結構型模式和行為型模式。建立型模式用來處理物件的建立過程 結構型模式用來處理類或者物件的組合 行為型模式用來對類或物件怎樣互動和怎樣分配職責進行描述。建立型模式用來處理物件的建立過程,主要包含以下5種設計模式 工廠方法模式 factory method pa...
23中設計模式詳解 單利模式
單例模式 保證一類只有乙個例項,並且對外提供訪問該類例項的全域性訪問點 應用場景 優點 單利只產生乙個例項,減少了系統效能的開銷,當乙個物件的產生需要較多資源的時候,就會利用單利來駐留 package com.spongeli.signleton 單列模式 餓漢式 特點 執行緒安全,效率高,但是沒有...