備忘錄模式(Memento Pattern)保存一個(gè)對(duì)象的某個(gè)狀態(tài),以便在適當(dāng)?shù)臅r(shí)候恢復(fù)對(duì)象。備忘錄模式屬于行為型模式。
在不破壞封裝的前提下,捕獲對(duì)象的內(nèi)部狀態(tài),并在對(duì)象外存儲(chǔ)這個(gè)內(nèi)部狀態(tài),以便將來(lái)回滾到這一狀態(tài)。
所謂備忘錄模式就是在不破壞封裝的前提下,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài),這樣可以在以后將對(duì)象恢復(fù)到原先保存的狀態(tài)。
結(jié)構(gòu)圖
鎖用來(lái)對(duì)數(shù)據(jù)進(jìn)行鎖定,我們可以從鎖定對(duì)象的粒度大小來(lái)對(duì)鎖進(jìn)行劃分,分別為行鎖、頁(yè)鎖和表鎖。
角色與理解
- 備忘錄模式共分為三種種角色:
- Originator(原發(fā)器):需要被記錄狀態(tài)的類(lèi)
- Memento(備忘錄):記錄原發(fā)器狀態(tài)的類(lèi),內(nèi)部含有原發(fā)器的部分屬性或者全部屬性,不能被其他類(lèi)所修改
- Caretaker(管理者):管理備忘錄
- 原發(fā)器創(chuàng)建備忘錄記錄此刻內(nèi)部各屬性的值,將備忘錄交給管理者管理,回滾狀態(tài)時(shí),從管理者中獲取備忘錄,重置內(nèi)部屬性
核心代碼
- 原發(fā)器
- 備忘錄
- 管理者
- 客戶(hù)端
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7648瀏覽量
167233
發(fā)布評(píng)論請(qǐng)先 登錄
UDS診斷命令備忘錄
怎樣去搭建一種基于XR806的開(kāi)源桌面備忘錄
全球半導(dǎo)體聯(lián)盟與中國(guó)半導(dǎo)體行業(yè)簽署合作備忘錄
戴姆勒與百度簽署諒解備忘錄
Vedanta與30家日本公司簽署諒解備忘錄
設(shè)計(jì)模式:備忘錄設(shè)計(jì)模式
設(shè)計(jì)模式行為型:策略模式

設(shè)計(jì)模式行為型:狀態(tài)模式

新思科技同越南政府簽署諒解備忘錄
實(shí)踐GoF的23種設(shè)計(jì)模式:備忘錄模式

評(píng)論