定義 主要將數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)操作分離。 解決問題 穩(wěn)定的數(shù)據(jù)結(jié)構(gòu)和易變的操作耦合問題聘惦。 使用場景 需要對(duì)一個(gè)對(duì)象結(jié)構(gòu)中的對(duì)象進(jìn)行很多不同的并且不相...

定義 主要將數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)操作分離。 解決問題 穩(wěn)定的數(shù)據(jù)結(jié)構(gòu)和易變的操作耦合問題聘惦。 使用場景 需要對(duì)一個(gè)對(duì)象結(jié)構(gòu)中的對(duì)象進(jìn)行很多不同的并且不相...
定義 定義一個(gè)操作中的算法的骨架腹纳,而將一些步驟延遲到子類中张症。模板方法使得子類可以不改變一個(gè)算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟能庆。 角色 Ab...
定義 定義一系列的算法,把它們一個(gè)個(gè)封裝起來, 并且使它們可相互替換 解決問題 在有多種算法相似的情況下九杂,使用 if...else 所帶來的復(fù)雜...
定義 允許對(duì)象在內(nèi)部狀態(tài)發(fā)生改變時(shí)改變它的行為颁湖,對(duì)象看起來好像修改了它的類。 解決問題 對(duì)象的行為依賴于它的狀態(tài)(屬性)例隆,并且可以根據(jù)它的狀態(tài)改...
定義 定義對(duì)象間的一種一對(duì)多的依賴關(guān)系甥捺,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新镀层。 解決問題 一個(gè)對(duì)象狀態(tài)改變給其他...
定義 在不破壞封裝性的前提下镰禾,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài)唱逢。 解決問題 所謂備忘錄模式就是在不破壞封裝的前提下吴侦,捕獲一個(gè)對(duì)...
定義 用一個(gè)中介對(duì)象來封裝一系列的對(duì)象交互,中介者使各對(duì)象不需要顯式地相互引用坞古,從而使其耦合松散备韧,而且可以獨(dú)立地改變它們之間的交互。 解決問題 ...
定義 提供一種方法順序訪問一個(gè)聚合對(duì)象中各個(gè)元素, 而又無須暴露該對(duì)象的內(nèi)部表示痪枫。 解決問題 不同的方式來遍歷整個(gè)整合對(duì)象织堂。 何時(shí)使用 遍歷一個(gè)...
定義 給定一個(gè)語言,定義它的文法的一種表示奶陈,并定義一個(gè)解釋器易阳,這個(gè)解釋器使用該表示來解釋語言中的句子。 文法:即語法規(guī)則吃粒。在解釋器模式中每一個(gè)語...
定義 將一個(gè)請(qǐng)求封裝成一個(gè)對(duì)象闽烙,從而使您可以用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化。 角色 1声搁、received 真正的命令執(zhí)行對(duì)象2黑竞、Command3、...