天天看小說

第134章

俗話說:世上難買後悔藥。所以凡事講究個“三思而後行”,但總常見有人做“痛心疾首”狀:當初我要是……。如果真的有《大話西遊》中能時光倒流的“月光寶盒”,那這世上也許會少一些傷感與後悔——當然這隻能是癡人說夢了。

但是在我們手指下的程序世界裡,卻有的後悔藥買。我們講的備忘錄模式便是程序世界裡的“月光寶盒”。

小A:“什麼叫備忘錄模式?”

大B:“備忘錄(Memento)模式又稱標記(Token)模式。在不破壞封裝性的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態。這樣以後就可將該對象恢復到原先保存的狀態。在講命令模式的時候,我們曾經提到利用中間的命令角色可以實現undo、redo的功能。從定義可以看出備忘錄模式是專門來存放對象歷史狀態的,這對於很好的實現undo、redo功能有很大的幫助。所以在命令模式中undo、redo功能可以配合備忘錄模式來實現。其實單就實現保存一個對象在某一時刻的狀態的功能,還是很簡單的——將對象中要保存的屬性放到一個專門管理備份的對象中,需要的時候則調用約定好的方法將備份的屬性放回到原來的對象中去。但是你要好好看看爲了能讓你的備份對象訪問到原對象中的屬性,是否意味著你就要全部公開或者包內公開對象原本私有的屬性呢?如果你的做法已經破壞了封裝,那麼就要考慮重構一下了。”

第73章第42章第157章第81章第83章第192章第64章第176章第180章第208章第146章第196章第51章第191章第28章第13章第198章第214章第112章第170章第163章第55章第147章第138章第223章第156章第110章第87章第186章第107章第92章第210章第145章第188章第194章第64章第13章第190章第96章第24章第200章第177章第74章第34章第152章第215章第102章第80章第77章第200章第226章第217章第27章第23章第28章第227章第192章第165章第160章第70章第71章第139章第75章第161章第42章第221章第117章第159章第215章第222章第141章第77章第158章第11章第210章第121章第172章第140章第125章第198章第171章第30章第97章第143章第189章第81章第18章第190章第123章第64章第123章第29章第166章第228章第183章第69章第160章第21章第223章第18章
第73章第42章第157章第81章第83章第192章第64章第176章第180章第208章第146章第196章第51章第191章第28章第13章第198章第214章第112章第170章第163章第55章第147章第138章第223章第156章第110章第87章第186章第107章第92章第210章第145章第188章第194章第64章第13章第190章第96章第24章第200章第177章第74章第34章第152章第215章第102章第80章第77章第200章第226章第217章第27章第23章第28章第227章第192章第165章第160章第70章第71章第139章第75章第161章第42章第221章第117章第159章第215章第222章第141章第77章第158章第11章第210章第121章第172章第140章第125章第198章第171章第30章第97章第143章第189章第81章第18章第190章第123章第64章第123章第29章第166章第228章第183章第69章第160章第21章第223章第18章
主站蜘蛛池模板: 容城县| 原阳县| 安龙县| 建平县| 同心县| 克拉玛依市| 巴青县| 金平| 东安县| 阿克苏市| 综艺| 上高县| 平和县| 洮南市| 沾化县| 武功县| 平远县| 芮城县| 钟祥市| 康保县| 全椒县| 咸丰县| 义马市| 宜都市| 襄汾县| 南华县| 墨江| 囊谦县| 阜康市| 泰和县| 上饶市| 博湖县| 兴宁市| 搜索| 民丰县| 双鸭山市| 苏尼特左旗| 丰台区| 那坡县| 陆良县| 刚察县|