您好,登錄后才能下訂單哦!
什么是備忘錄模式
所謂備忘錄模式,就是在不破壞封閉的前提下,捕獲一個對象的內(nèi)部狀態(tài),并在該對象之外保存這個狀態(tài),以后可將這個對象恢復(fù)到原先保存的狀態(tài)的設(shè)計模式。
備忘錄模式的實現(xiàn)方式
備忘錄模式的實現(xiàn)方式需要保證被保存的對象狀態(tài)不能被對象從外部訪問,目的是為了保護(hù)好被保存的這些對象狀態(tài)的完整性以及內(nèi)部實現(xiàn)不向外暴露。
民族英雄文天祥《正氣歌》記載了一個“在齊太史簡”的故事,我們先定義一個歷史類:
public class History { |
記載真相的備忘錄:
public class Memoto { |
備忘錄的操作者Caretaker:
public class Caretaker { |
“在齊太史簡”的全過程:
History history_0 = new History(0); |
無獨有偶,秦始皇滅趙之后第一件事就是把趙國的史書全部燒毀,可是那句“某年月日,秦王為趙王擊缻”還是被司馬遷記錄下來,千古流傳,這也是現(xiàn)實中的備忘錄模式的功勞。
Android源碼中的備忘錄模式
(1)onSaveInstanceState
當(dāng)某個Activity變得容易被系統(tǒng)銷毀時,該Activity的onSaveInstanceState方法就會被執(zhí)行,除非該Activity是被用戶主動銷毀的。
Android開發(fā)中如何利用備忘錄模式
(1)備忘錄模式給用戶提供了一種可以恢復(fù)狀態(tài)的機(jī)制,可以使用戶能夠比較方便地回到某個歷史的狀態(tài)。
(2)備忘錄模式實現(xiàn)了信息的封裝,使得用戶不需要關(guān)心狀態(tài)的保存細(xì)節(jié)。
需要注意的幾個問題
(1)備忘錄模式的缺點在于消耗資源。如果類的成員變量過多,勢必會占用比較大的資源,而且每一次保存都會消耗一定的內(nèi)存。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。