order by詳解
設計模式主要分為三大類:
建立型、結構型、行為型
建立型
建立型模式簡單來說就是用來建立物件的。
一共有五種:單例模式、建造者模式、工廠方法模式、抽象工廠模式、原型模式。
單例模式:確保某一個類只有一個例項,並且提供一個全域性訪問點。
建造者模式: 用來建立複雜的複合物件。
工廠方法模式 :讓子類來決定要建立哪個物件。
抽象工廠模式:建立多個產品族中的產品物件。
原型模式:通過複製原型來建立新物件。
結構型
結構型模式主要是用於處理類或者物件的組合。
一共有七種:介面卡模式、裝飾模式、代理模式、外觀模式、橋接模式、組合模式、享元模式
代理模式 :控制客戶端對物件的訪問。
組合模式:將整體與區域性(樹形結構)進行遞迴組合,讓客戶端能夠以一種的方式對其進行處理。
介面卡模式:將原來不相容的兩個類融合在一起。
裝飾者模式 :為物件新增新功能。
享元模式:使用物件池來減少重複物件的建立。
外觀模式 :對外提供一個統一的介面用來訪問子系統。
橋接模式:將兩個能夠獨立變化的部分分離開來。
行為型
行為型模式主要是描述類或者物件是怎樣互動和怎樣分配職責的。
一共有十一種:策略模式、模板方法模式、觀察者模式、迭代器模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式
策略模式:封裝不同的演算法,演算法之間能互相替換。
狀態模式:根據不同的狀態做出不同的行為。
責任連模式:將事件沿著鏈去處理。
觀察者模式:狀態發生改變時通知觀察者,一對多的關係。
模板方法模式:定義一套流程模板,根據需要實現模板中的操作。
迭代器模式:提供一種方法順序訪問一個聚合物件中的各個元素。
迭代器模式:儲存物件的狀態,在需要時進行恢復。
訪問者模式:穩定資料結構中,定義新的操作行為。
中介者模式:將網狀結構轉變為星型結構,所有行為都通過中介。
直譯器模式:定義語法,並對其進行解釋。
命令模式 :將請求封裝成命令,並記錄下來,能夠撤銷與重做。