訪問者模式看起來是一個非常機智的模式蚂踊,它做到了將類的架構(gòu)設(shè)計和邏輯代碼解耦的目標。為了要完成對訪問者模式的解釋笔宿,我們要明確這兩個概念:架構(gòu)設(shè)計和邏輯代碼犁钟。 架構(gòu)設(shè)計 一般來說...
迭代器這個名詞對于熟悉Java的人來說絕對不陌生。我們常常使用JDK提供的迭代接口進行java collection的遍歷: 其實這就是在Java語言中完美的迭代器模式:提供...
說到裝飾泼橘,我們首先能想到的是房間中的各種陳設(shè)和布景涝动。在房間中,每增加一個裝飾物品炬灭,整個房間的氛圍都會有所改變醋粟。而我們的裝飾者模式也起到了這么一個作用: Attach addi...
解釋器模式在我看來,應(yīng)用范圍很小重归,我想了很久昔穴,想舉一個不是加減乘除運算的例子出來,但是很難......在設(shè)計模式一書中提前,它的意圖也被定義為實現(xiàn)一種語言所要運用的模式,我在網(wǎng)上...
一個物體可能存在多種類型的狀態(tài)泳唠,納悶狀態(tài)之間就會存在轉(zhuǎn)換的關(guān)系狈网。例如液態(tài)的水,可以氣化成為水蒸氣笨腥,也可以固話成為冰塊拓哺,而冰塊可以通過升華直接成為水蒸氣,水蒸氣反過來通過凝華也...
命令模式將著眼點放在了一個命令脖母,或更準確來說士鸥,用英文單詞Command來表示,它是一發(fā)命令谆级,一條指令烤礁,一次操作讼积,一個動作。命令模式就是希望將Command的具體方法脚仔,封裝在一...
這個模式勤众,怎么說呢,聽名字真的很唬人鲤脏,但是實際上们颜,就是簡單地用一個接口進行方法的抽象......但是關(guān)鍵是這個模式想要傳達的思想:在制定策略時,將策略的具體實現(xiàn)與調(diào)用者解耦猎醇,...
說到模(mú)板窥突,很多人都接觸過,C++和Java都有諸如List和Stack這樣的模板類硫嘶。但是說到模板方法阻问,很多人可能說不太清楚,或者雖然在學(xué)習(xí)工作中接觸到了音半,但是不知道其...
看到“備忘錄”這個名字的時候则拷,我基本上不知道這個模式需要做的事情。而后又翻看了一下GoF的書曹鸠,它的Intent是這個樣子的: Memento: Without violati...