1.創(chuàng)建型模式(Creational Pattern)對(duì)類的實(shí)例化過(guò)程進(jìn)行了抽象,能夠?qū)④浖K中對(duì)象的創(chuàng)建和對(duì)象的使用分離。
為了使軟件的結(jié)構(gòu)更加清晰锭亏,外界對(duì)于這些對(duì)象只需要知道它們共同的接口润文,而不清楚其具體的實(shí)現(xiàn)細(xì)節(jié),使整個(gè)系統(tǒng)的設(shè)計(jì)更加符合單一職責(zé)原則漱挎。
? 簡(jiǎn)單工廠模式Simple Factory(靜態(tài)工廠模式)
? 工廠方法模式Factory Method(多態(tài)性工廠模式)
? 抽象工廠模式Abstract Factory(工具箱模式)
? 單例模式Singleton
? 建造模式Builder
? 原型模式 Prototype
2.結(jié)構(gòu)模式描述如何將類或者對(duì)象結(jié)合在一起形 成更大的結(jié)構(gòu)。
?** 類的結(jié)構(gòu)模式:類的結(jié)構(gòu)模式使用繼承把類雀哨、接口等 組合在一起磕谅,以形成更大的結(jié)構(gòu)。當(dāng)一個(gè)類從父類繼 承并實(shí)現(xiàn)某接口時(shí)震束,這個(gè)新的類就把父類的結(jié)構(gòu)和接 口的結(jié)構(gòu)組合起來(lái)怜庸。類的結(jié)構(gòu)模式是靜態(tài)的当犯。
? 對(duì)象的結(jié)構(gòu)模式**:對(duì)象的結(jié)構(gòu)模式描述了怎樣把各種 不同類型的對(duì)象組合在一起垢村,以實(shí)現(xiàn)新功能的方法。 可以在運(yùn)行時(shí)刻改變對(duì)象組合關(guān)系嚎卫,對(duì)象的結(jié)構(gòu)模式 是動(dòng)態(tài)的嘉栓。
**類的結(jié)構(gòu)模式: **
? 關(guān)注類的組合
? 使用繼承把類、接口等組合在一起拓诸,以形成更大的 結(jié)構(gòu)侵佃。
? 一般只存在繼承關(guān)系和實(shí)現(xiàn)關(guān)系。
對(duì)象的結(jié)構(gòu)模式:
? 關(guān)注類和對(duì)象的組合
? 通過(guò)聚合關(guān)系在一個(gè)類中定義另一個(gè)類的實(shí)例作為 成員對(duì)象奠支,再調(diào)用所定義的成員對(duì)象的方法馋辈。
根據(jù)“合成/聚合復(fù)用原則(CARP)”,系統(tǒng)中盡量采用 聚合關(guān)系來(lái)代替繼承關(guān)系倍谜,因此大部分結(jié)構(gòu)型模式都 是對(duì)象的結(jié)構(gòu)型模式
?Adapter 適配器模式
? Bridge 橋接模式
? Composite組合模式
? Decorator 裝飾模式
? Facade 門面模式
? Flyweight享元模式
? Proxy 代理模式
3.行為模式是對(duì)在不同的對(duì)象之間劃分責(zé)任和算法的抽象化迈螟。行為模式不僅僅是關(guān)于類和對(duì)象 的,而且關(guān)注它們之間的通信模式尔崔。
? 類的行為模式:使用繼承關(guān)系在幾個(gè)類之間分配行為 – Interpreter, Template Method
? 對(duì)象的行為模式:使用對(duì)象的聚合來(lái)分配行為