概念不清,方法不明 這是離散數(shù)學(xué)老師教我的一句終生受用的話已球。拋開數(shù)學(xué)與計(jì)算機(jī)赁酝,人類的那些科學(xué)嚴(yán)謹(jǐn)?shù)姆椒ㄕ撘泊蟮秩绱丝选R胝_地追求自由象浑,擁有自由...
訪問(wèn)者模式用于訪問(wèn)對(duì)象的屬性對(duì)象±哦梗可以在不改變屬性對(duì)象類的前提下改變對(duì)屬性對(duì)象的操作愉豺。 以下代碼定義了訪問(wèn)者抽象類。被訪問(wèn)的對(duì)象有2個(gè)屬性對(duì)象茫因,...
這個(gè)模式也叫責(zé)任鏈模式蚪拦。這種模式解決的是一個(gè)請(qǐng)求可能由多個(gè)類處理的問(wèn)題,可以處理的多個(gè)類可以按照優(yōu)先級(jí)先后決定自己能否處理請(qǐng)求冻押。 以下代碼定義了...
策略模式與狀態(tài)模式看起來(lái)差不多驰贷,只是從概念上側(cè)重不同。策略模式封裝的是策略或算法洛巢,狀態(tài)模式封裝的是狀態(tài)括袒,主要區(qū)別在于封裝對(duì)象的不同形式。 以下代...
狀態(tài)模式可以將狀態(tài)和行動(dòng)進(jìn)行捆綁稿茉,并移出類外去實(shí)現(xiàn)對(duì)應(yīng)關(guān)系锹锰。對(duì)象的狀態(tài)不再是類內(nèi)的屬性值芥炭,而是一個(gè)指向狀態(tài)對(duì)象的引用或指針,改變狀態(tài)只是改變引用...
解釋器模式一般用于語(yǔ)義解釋問(wèn)題恃慧。我們把問(wèn)題抽象一下园蝠,這里定義一種簡(jiǎn)單的語(yǔ)法。這套語(yǔ)法規(guī)定痢士,符號(hào)和結(jié)尾符構(gòu)成表達(dá)式彪薛,只支持單個(gè)語(yǔ)句構(gòu)成的表達(dá)式,不...
備忘錄模式要求不破壞封裝的前提下將對(duì)象內(nèi)的狀態(tài)保存到對(duì)象外怠蹂,并且可以用這個(gè)狀態(tài)恢復(fù)對(duì)象善延。典型應(yīng)用是游戲的存檔機(jī)制。 以下代碼定義了游戲的存檔褥蚯,假...
中介者模式可以對(duì)多個(gè)對(duì)象之間的交互進(jìn)行解耦挚冤。這個(gè)模式種有2類角色,一個(gè)是中介者赞庶,另一類是需要互相交互的對(duì)象训挡。 以下代碼定義了中介者。 以下代碼定...
迭代器模式用于解決順序訪問(wèn)聚合對(duì)象問(wèn)題歧强。C++的容器與迭代器就是典型的實(shí)現(xiàn)澜薄。 以下代碼定義了一個(gè)單向鏈表節(jié)點(diǎn)。 以下代碼定義了迭代器以及它的基本...