設(shè)計(jì)模式主要分三個(gè)類(lèi)型:創(chuàng)建型忌傻、結(jié)構(gòu)型和行為型粥庄。
其中創(chuàng)建型有:
一、Singleton量淌,單例模式:保證一個(gè)類(lèi)只有一個(gè)實(shí)例,并提供一個(gè)訪(fǎng)問(wèn)它的全局訪(fǎng)問(wèn)點(diǎn)
二、Abstract Factory渣窜,抽象工廠(chǎng):提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴(lài)對(duì)象的接口,而無(wú)須指定它們的具體類(lèi)宪躯。
三乔宿、Factory Method,工廠(chǎng)方法:定義一個(gè)用于創(chuàng)建對(duì)象的接口访雪,讓子類(lèi)決定實(shí)例化哪一個(gè)類(lèi)详瑞,F(xiàn)actory Method使一個(gè)類(lèi)的實(shí)例化延遲到了子類(lèi)。
四臣缀、Builder坝橡,建造模式:將一個(gè)復(fù)雜對(duì)象的構(gòu)建與他的表示相分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示精置。
五计寇、Prototype,原型模式:用原型實(shí)例指定創(chuàng)建對(duì)象的種類(lèi)脂倦,并且通過(guò)拷貝這些原型來(lái)創(chuàng)建新的對(duì)象饲常。
行為型有:
六、Iterator狼讨,迭代器模式:提供一個(gè)方法順序訪(fǎng)問(wèn)一個(gè)聚合對(duì)象的各個(gè)元素贝淤,而又不需要暴露該對(duì)象的內(nèi)部表示。
七政供、Observer播聪,觀(guān)察者模式:定義對(duì)象間一對(duì)多的依賴(lài)關(guān)系朽基,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴(lài)于它的對(duì)象都得到通知自動(dòng)更新离陶。
八稼虎、Template Method,模板方法:定義一個(gè)操作中的算法的骨架招刨,而將一些步驟延遲到子類(lèi)中霎俩,TemplateMethod使得子類(lèi)可以不改變一個(gè)算法的結(jié)構(gòu)即可以重定義該算法得某些特定步驟。
九沉眶、Command打却,命令模式:將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使你可以用不同的請(qǐng)求對(duì)客戶(hù)進(jìn)行參數(shù)化谎倔,對(duì)請(qǐng)求排隊(duì)和記錄請(qǐng)求日志柳击,以及支持可撤銷(xiāo)的操作。
十片习、State捌肴,狀態(tài)模式:允許對(duì)象在其內(nèi)部狀態(tài)改變時(shí)改變他的行為。對(duì)象看起來(lái)似乎改變了他的類(lèi)藕咏。
十一状知、Strategy,策略模式:定義一系列的算法孽查,把他們一個(gè)個(gè)封裝起來(lái)试幽,并使他們可以互相替換,本模式使得算法可以獨(dú)立于使用它們的客戶(hù)卦碾。
十二、China of Responsibility起宽,職責(zé)鏈模式:使多個(gè)對(duì)象都有機(jī)會(huì)處理請(qǐng)求洲胖,從而避免請(qǐng)求的送發(fā)者和接收者之間的耦合關(guān)系
十三、Mediator坯沪,中介者模式:用一個(gè)中介對(duì)象封裝一些列的對(duì)象交互绿映。
十四、Visitor腐晾,訪(fǎng)問(wèn)者模式:表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中的各元素的操作叉弦,它使你可以在不改變各元素類(lèi)的前提下定義作用于這個(gè)元素的新操作。
十五藻糖、Interpreter淹冰,解釋器模式:給定一個(gè)語(yǔ)言,定義他的文法的一個(gè)表示巨柒,并定義一個(gè)解釋器樱拴,這個(gè)解釋器使用該表示來(lái)解釋語(yǔ)言中的句子柠衍。
十六、Memento晶乔,備忘錄模式:在不破壞對(duì)象的前提下珍坊,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài)正罢。
結(jié)構(gòu)型有:
十七阵漏、Composite,組合模式:將對(duì)象組合成樹(shù)形結(jié)構(gòu)以表示部分整體的關(guān)系翻具,Composite使得用戶(hù)對(duì)單個(gè)對(duì)象和組合對(duì)象的使用具有一致性履怯。
十八、Facade呛占,外觀(guān)模式:為子系統(tǒng)中的一組接口提供一致的界面虑乖,fa?ade提供了一高層接口,這個(gè)接口使得子系統(tǒng)更容易使用晾虑。
十九疹味、Proxy,代理模式:為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪(fǎng)問(wèn)
二十帜篇、Adapter,適配器模式:將一類(lèi)的接口轉(zhuǎn)換成客戶(hù)希望的另外一個(gè)接口糙捺,Adapter模式使得原本由于接口不兼容而不能一起工作那些類(lèi)可以一起工作。
二十一笙隙、Decrator洪灯,裝飾模式:動(dòng)態(tài)地給一個(gè)對(duì)象增加一些額外的職責(zé),就增加的功能來(lái)說(shuō)竟痰,Decorator模式相比生成子類(lèi)更加靈活签钩。
二十二、Bridge坏快,橋模式:將抽象部分與它的實(shí)現(xiàn)部分相分離铅檩,使他們可以獨(dú)立的變化。
二十三莽鸿、Flyweight昧旨,享元模式
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者