23种基本设计模式简介
1:創(chuàng)建類型的設(shè)計(jì)模式(Creational Pattern) 是對(duì)類的實(shí)例化過(guò)程的抽象化,告知如何有效地進(jìn)行一個(gè)類的實(shí)例化。這類的設(shè)計(jì)模式包含5種,分別是工廠模式(Factory Method)、抽象工廠模式(Abstract Factory)、單鍵模式(Singleton)、建造模式(Builder)、原型模式(Prototype Pattern)。
(1):工廠模式(Factory Method)
工廠方法模式定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類。Factory Method 使一個(gè)類的實(shí)例化延遲到其子類。
(2):抽象工廠模式(Abstract Factory)
抽象工廠模式提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對(duì)象的接口,而無(wú)需指定它們具體的類。
(3):單鍵模式(Singleton)
單鍵模式保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。
(4):建造模式(Builder)
建造模式將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。
(5):原型模式(Prototype Pattern)
原型模式用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過(guò)拷貝這些原型創(chuàng)建新的對(duì)象。
2:結(jié)構(gòu)類型的設(shè)計(jì)模式(Structural Pattern)是描述類和對(duì)象之間如何組合才最有成效和更合理。這類的設(shè)計(jì)模式包含7種,分別是適配器模式(Adapter)、合成模式(Composite)、裝飾模式(Decorator)、代理模式(Proxy)、享元模式(Flyweight)、外觀模式(Facade)、橋梁模式(Bridge)。
(1):適配器模式(Adapter)
適配器模式將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。該模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。
(2):合成模式(Composite)
合成模式將對(duì)象組合成樹型結(jié)構(gòu)以表示“部分---整體”的層次結(jié)構(gòu)。該模式使得用戶對(duì)單個(gè)對(duì)象和組合對(duì)象的使用具有一致性。
(3):裝飾模式(Decorator)
裝飾模式動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)。就增加功能來(lái)說(shuō),該模式相比生成子類更為靈活。
(4):代理模式(Proxy)
代理模式為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。
(5):享元模式(Flyweight)
享元模式運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象。
(6):外觀模式(Facade)
外觀模式為子系統(tǒng)中的一組接口提供一個(gè)一致的界面。該模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加容易使用。
(7):橋梁模式(Bridge)
橋梁模式將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化。
3:行為類型的設(shè)計(jì)模式(Behavioral Pattern)是如何正確地標(biāo)示各個(gè)類之間的職責(zé),將合適的職責(zé)分配到合適的對(duì)象上。這類的設(shè)計(jì)模式包含11種,分別是解釋器模式(Interpreter)、中介者模式(Mediator)、策略模式(Stratrgy)、模板方法模式(Template Method)、觀察者模式(Observer)、迭代器模式(Iterator)、責(zé)任鏈模式(Chain of Responsibility)、命令模式(Command)、備忘錄模式(Memento)、狀態(tài)模式(State)、訪問(wèn)者模式(Visitor)。
(1):解釋器模式(Interpreter)
解釋器模式給定一個(gè)語(yǔ)言,定義它的文法的一種表示,并定義一個(gè)解釋器,這個(gè)解釋器使用該表示來(lái)解釋語(yǔ)言中的句子。
(2):中介者模式(Mediator)
中介者模式用一個(gè)中介對(duì)象封裝一系列的對(duì)象交互。中介者使各對(duì)象不需要顯式地相互引用,從而使其耦合松散,而且可以獨(dú)立地改變它們之間的交相。
(3):策略模式(Stratrgy)
策略模式定義一系列的算法,把它們一個(gè)個(gè)封裝起來(lái),并且使它們可以相互替換。本模式使得算法可獨(dú)立于使用它的客戶而變化。
(4):模板方法模式(Template Method)
模板方法模式定義一個(gè)操作中的算法的骨架,而將一些步驟延遲到子類中。該模式使得子類可以不改變一個(gè)算法的結(jié)構(gòu)既可重定義該算法的某些特定步驟。
(5):觀察者模式(Observer)
觀察者模式定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新。
(6):迭代器模式(Iterator)
迭代器模式提供一種方法順序訪問(wèn)一個(gè)聚合對(duì)象中各個(gè)元素,而又不需暴露該對(duì)象的內(nèi)部表示。
(7):責(zé)任鏈模式(Chain of Responsibility)
責(zé)任鏈模式使多個(gè)對(duì)象都有機(jī)會(huì)處理請(qǐng)求,從而避免請(qǐng)求的發(fā)送者和接收者之間的耦合關(guān)系。將這些對(duì)象連成一條鏈,并沿著這條鏈傳遞該請(qǐng)求,直到有一個(gè)對(duì)象處理它為止。
(8):命令模式(Command)
命令模式將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使你可用不同的請(qǐng)求對(duì)客戶地蠔參數(shù)化,對(duì)請(qǐng)求排隊(duì)或記錄請(qǐng)求日志,以及支持可撤消的操作。
(9):備忘錄模式(Memento)
備忘錄模式在不破壞封裝性的前提下,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài),這樣以后就可將該對(duì)象恢復(fù)到原先保存的狀態(tài)。
(10):狀態(tài)模式(State)
狀態(tài)模式容許一個(gè)對(duì)象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為。對(duì)象看起來(lái)似乎修改了它的類。
(11):訪問(wèn)者模式(Visitor)
訪問(wèn)者模式表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中的各元素的操作。它使用戶可以在不改變各元素的類的前提下定義作用于這些元素的新操作。
總結(jié)
以上是生活随笔為你收集整理的23种基本设计模式简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一个类型初始值设定项引发异常
- 下一篇: 监护人(说一说监护人的简介)