橋接模式:將實(shí)現(xiàn)和抽象放在兩個(gè)不同的類(lèi)層次中,使它們可以獨(dú)立改變。實(shí)現(xiàn)和抽象解耦,不再永久綁定。 缺點(diǎn):增加了復(fù)雜度。 生成器模式:將一個(gè)復(fù)雜的...
代理模式:為另一個(gè)對(duì)象提供一個(gè)替身或者占位符來(lái)訪(fǎng)問(wèn)這個(gè)對(duì)象。以便控制對(duì)對(duì)象的訪(fǎng)問(wèn)。
迭代器模式:提供一種方法順序訪(fǎng)問(wèn)一個(gè)聚合對(duì)象中的元素,而不暴露其內(nèi)部的結(jié)構(gòu)。 組合模式:允許將對(duì)象組成樹(shù)形結(jié)構(gòu)來(lái)表現(xiàn)“整體/部分”的層次結(jié)構(gòu)。組...
模板方法模式:在一個(gè)方法中定義一個(gè)算法的骨架,而將一些具體步驟遲到到子類(lèi)中。使得子類(lèi)可以不改變算法結(jié)構(gòu)的情況下,重新定義算法中的某些步驟。
適配器模式:將一個(gè)類(lèi)的接口轉(zhuǎn)換成客戶(hù)期望的另一個(gè)接口;讓原本不兼容的類(lèi)可以兼容 外觀模式:提供了一個(gè)統(tǒng)一的接口,用來(lái)訪(fǎng)問(wèn)子系統(tǒng)的一群接口。外觀定...
命令模式:將請(qǐng)求封裝成對(duì)象,讓你使用不同的請(qǐng)求、隊(duì)列,或者日志請(qǐng)求來(lái)參數(shù)化其他對(duì)象。命令模式也可支持撤消操作; 要點(diǎn): 1、將發(fā)出請(qǐng)求的對(duì)象和執(zhí)...
動(dòng)態(tài)地將責(zé)任附加到對(duì)象上,擴(kuò)展功能,裝飾者有別于繼承的另一種選擇
在對(duì)象之間定義一對(duì)多的依賴(lài),這樣一來(lái),當(dāng)一個(gè)對(duì)象狀態(tài)改變時(shí),依賴(lài)它的對(duì)象都會(huì)收到通知,并自動(dòng)更新。以松耦方式在一系列對(duì)象之間溝通狀態(tài)
定義算法族,分別封裝起來(lái),讓它們可以互相替換,讓算法的變化獨(dú)立于使用算法的客戶(hù)