來說說(Memorandum)備忘錄模式

2021-08-02 14:56:08 字數 856 閱讀 1221

根據他的名字來分析,我們就知道他是來儲存一些狀態的,當回滾的時候,就可以來進行返回,撤銷等操作,就像我們coding的時候,寫錯了,要直接control + z來進行返回,當我們又不想破壞物件的原封裝性,又要來儲存,記錄一些狀態,怎麼辦?就像四五年前,我們做的萌三國之類的戰旗一樣,我們手動控制武將的移動,移動了一會我們反悔了怎麼辦?這樣備忘錄模式就能夠游刃有餘的給我們解決這一類的問題。

並且他是這麼定義的:在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣就可以將該物件恢復到原先儲存的狀態。

他大致分為,發起人,備忘錄,管理角色。

我們先來建立乙個發起人,也就是故事的主角。

/// /// 備忘錄方法  單狀態

///

public class originator

get} public memento cteatememento()

public void restorememento(memento memento)

}

我們來建立乙個備忘錄

public class memento

public string state

get}}

我們來建立乙個角色管理類

public class caretaker

get}}

我們來進行測試。

public class memorandum

}

由於要把需要撤銷的變數進行單獨儲存乙份,所以需要增加記憶體的消耗,在我們使用的時候就一定要注意了!

來說說DNS解析

dns domain name system,網域名稱系統 網際網路上作為網域名稱和ip位址相互對映的乙個分布式資料庫,能夠使使用者更方便的訪問網際網路,而不用去記住能夠被機器直接讀取的ip數串。通過主機名,最終得到該主機名對應的ip位址的過程叫做網域名稱解析 或主機名解析 dns協議執行在udp協...

今天來說說ADB

簡單介紹下adb adb全稱android debug bridge,是android sdk裡的乙個工具,用這個工具可以直接操作管理android模擬器或者真實的andriod裝置 如g1手機 它的主要功能有 然後我們來配置下adb的環境變數 1 在系統變數中新建android hmoe變數,賦值...

我也來說說多核

究竟普通開發者是否需要面對多核,這個問題在很多地方都在討論。很多人都認為不需要,這樣說是基於過去幾年的經驗,認為目前的一般應用單核高速cpu已經足以應付,今後也沒有新的重要應用驅動我們使用多核cpu,多核cpu要麼是廠商狗急跳牆,要麼是僅供科研計算,謝絕參觀。看完myan的這篇,我也來說說 說多核無...