二十三種設計模式19 備忘錄模式(Memento)

2021-09-26 06:41:17 字數 1198 閱讀 8293

主要目的是儲存乙個物件的某個狀態,以便在適當的時候恢復物件,個人覺得叫備份模式更形象些,通俗的講下:假設有原始類a,a中有各種屬性,a可以決定需要備份的屬性,備忘錄類b是用來儲存a的一些內部狀態,類c呢,就是乙個用來儲存備忘錄的,且只能儲存,不能修改等操作。做個圖來分析一下:

測試類:

1. public class test   

20. }

輸出:

初始化狀態為:egg

修改後的狀態為:niu

恢復後的狀態為:egg

簡單描述下:新建原始類時,value被初始化為egg,後經過修改,將value的值置為niu,最後倒數第二行進行恢復狀態,結果成功恢復了。其實我覺得這個模式叫「備份-恢復」模式最形象。

二十 備忘錄模式

備忘錄模式 memento 在不破壞封裝性的前提下,捕獲乙個物件內部狀態,並在該物件之外儲存這個狀態。以便將物件恢復到原先儲存狀態。demo 備忘錄模式 class program static void main string args originator o new originator o....

二十三種設計模式 羅列

1 工廠方法模式 factory method 2 抽象工廠模式 abstract factory 3 單例模式 singleton 4 建造者模式 builder 5 原型模式 prototype 6 介面卡模式 adapter 7 裝飾模式 decorator 8 模式 proxy 9 外觀模式...

二十三種設計模式之組合模式

組合模式 將物件聚合成樹形結構來表現 整體 部分 的層次結構。組合模式能讓客戶以一致的方式來處理個別物件以及物件組合。也就是我們可以忽略物件組合與個體之間的差別。應用場景 餐廳合併列印主選單 子選單 public abstract class menucomponent public string ...