備忘錄( Memento)模式: 在不破壞封裝性的前提下,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài)。這樣以后就可將該對(duì)象恢復(fù)到原先保存的狀態(tài)。
適用性:
所涉及的角色:
備忘錄角色:將發(fā)起人 (Originator) 的對(duì)象內(nèi)部狀態(tài)存儲(chǔ)起來,備忘錄可以根據(jù)發(fā)起人對(duì)象的的判斷來決定存儲(chǔ)多少發(fā)起人( Originator )對(duì)象的內(nèi)部狀態(tài)。奮忘錄同時(shí)可以保護(hù)其內(nèi)容不被發(fā)起人 (Originator) 對(duì)象之外的任何對(duì)象所索。
?
發(fā)起人 (Originator) 角色:創(chuàng)建一個(gè)含有當(dāng)前的內(nèi)部狀態(tài)的的備忘錄對(duì)象 , 使用備忘錄對(duì)象存儲(chǔ)內(nèi)部狀態(tài)。
負(fù)責(zé)人( Caretaker )角色:負(fù)責(zé)保存?zhèn)渫泴?duì)象,不檢查備忘錄對(duì)象的內(nèi)容。
一個(gè)簡單的例子:備忘錄角色