根據他的名字來分析,我們就知道他是來儲存一些狀態的,當回滾的時候,就可以來進行返回,撤銷等操作,就像我們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的這篇,我也來說說 說多核無...