0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

設(shè)計(jì)模式行為型:備忘錄模式

冬至子 ? 來(lái)源:碼農(nóng)架構(gòu) ? 作者:小智 ? 2023-06-07 11:16 ? 次閱讀

備忘錄模式(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ù)端

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7366

    瀏覽量

    163091
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    恩智浦與Cohda無(wú)線(xiàn)簽署CAR 2 CAR通信聯(lián)盟“諒解備忘錄

    恩智浦半導(dǎo)體和Cohda的無(wú)線(xiàn)今天宣布,他們已經(jīng)簽署的CAR 2 CAR通信聯(lián)盟”諒解備忘錄”(MOU)。該備忘錄旨在確保歐洲車(chē)與車(chē)之間,或是汽車(chē)和交通基礎(chǔ)設(shè)施間,無(wú)線(xiàn)通訊科技技術(shù)的實(shí)施和統(tǒng)一
    發(fā)表于 04-17 10:10 ?894次閱讀

    HarmonyOS開(kāi)發(fā)實(shí)例:【手機(jī)備忘錄

    基于用戶(hù)首選項(xiàng),實(shí)現(xiàn)了備忘錄新增、更新、刪除以及查找等功能。
    的頭像 發(fā)表于 04-18 21:40 ?627次閱讀
    HarmonyOS開(kāi)發(fā)實(shí)例:【手機(jī)<b class='flag-5'>備忘錄</b>】

    PostgreSQL操作備忘錄

    PostgreSQL 操作備忘錄
    發(fā)表于 05-23 08:48

    UDS診斷命令備忘錄

    UDS實(shí)踐性強(qiáng),邏輯復(fù)雜,很多服務(wù)非要體驗(yàn)過(guò)一次才能理解,導(dǎo)致包括我在內(nèi)的初學(xué)者感覺(jué)晦澀難懂,不明覺(jué)厲,因此將自己的理解寫(xiě)下來(lái)、整理下來(lái),與君共勉。零、UDS診斷命令備忘錄一、簡(jiǎn)介UDS
    發(fā)表于 08-26 16:09

    怎樣去搭建一種基于XR806的開(kāi)源桌面備忘錄

    本人計(jì)劃懟一個(gè)開(kāi)源桌面備忘錄/天氣預(yù)報(bào)/相冊(cè)的項(xiàng)目基于XR806,同時(shí)學(xué)習(xí)鴻蒙操作系統(tǒng)獲得暈哥贈(zèng)送的開(kāi)發(fā)板和芯片,目前處于環(huán)境搭建階段看起來(lái)這個(gè)芯片玩的人比較少,目前遇到了問(wèn)題,不知道如何解決,希望
    發(fā)表于 12-28 06:52

    全球半導(dǎo)體聯(lián)盟與中國(guó)半導(dǎo)體行業(yè)簽署合作備忘錄

    全球半導(dǎo)體聯(lián)盟與中國(guó)半導(dǎo)體行業(yè)簽署合作備忘錄 全球半導(dǎo)體聯(lián)盟(GSA)與中國(guó)半導(dǎo)體行業(yè)協(xié)會(huì)(CSIA)在蘇州聯(lián)合申明簽署合作備忘錄。此次合作將為促
    發(fā)表于 09-24 08:17 ?662次閱讀

    是德科技與中國(guó)移動(dòng)簽署諒解備忘錄

    是德科技(NYSE:KEYS)今日宣布與中國(guó)移動(dòng)通信集團(tuán)有限公司(CMCC)簽署諒解備忘錄(MoU)將全力支持 5G 終端先行者計(jì)劃的實(shí)施。
    的頭像 發(fā)表于 07-19 11:01 ?4770次閱讀

    戴姆勒與百度簽署諒解備忘錄

    7月25日,奔馳母公司戴姆勒與百度簽署諒解備忘錄,深化雙方在自動(dòng)駕駛和車(chē)聯(lián)網(wǎng)等領(lǐng)域的戰(zhàn)略合作。
    的頭像 發(fā)表于 07-28 09:53 ?2650次閱讀

    Vedanta與30家日本公司簽署諒解備忘錄

    印度Vedanta Group已與30家日本公司簽署諒解備忘錄,以開(kāi)發(fā)印度半導(dǎo)體和玻璃顯示器制造生態(tài)系統(tǒng)。上周在日本東京舉行的2022年Vedanta-Avanstrate商業(yè)合作伙伴峰會(huì)上簽署了這些備忘錄,來(lái)自100多家全球公司的200多名代表出席了峰會(huì)。
    的頭像 發(fā)表于 12-15 09:12 ?908次閱讀

    設(shè)計(jì)模式備忘錄設(shè)計(jì)模式

    備忘錄設(shè)計(jì)模式(Memento Design Pattern)是一種行為設(shè)計(jì)模式,它的主要目的是在不破壞對(duì)象封裝性的前提下,捕捉和保存一個(gè)
    的頭像 發(fā)表于 06-06 11:19 ?720次閱讀

    設(shè)計(jì)模式行為:策略模式

    在策略模式(Strategy Pattern)中,一個(gè)類(lèi)的行為或其算法可以在運(yùn)行時(shí)更改。這種類(lèi)型的設(shè)計(jì)模式屬于行為模式。
    的頭像 發(fā)表于 06-07 11:18 ?568次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b><b class='flag-5'>行為</b><b class='flag-5'>型</b>:策略<b class='flag-5'>模式</b>

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

    在狀態(tài)模式(State Pattern)中,類(lèi)的行為是基于它的狀態(tài)改變的。這種類(lèi)型的設(shè)計(jì)模式屬于行為模式
    的頭像 發(fā)表于 06-07 11:20 ?509次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b><b class='flag-5'>行為</b><b class='flag-5'>型</b>:狀態(tài)<b class='flag-5'>模式</b>

    新思科技同越南政府簽署諒解備忘錄

    在越南總理范明政訪(fǎng)美期間,新思科技與越南國(guó)家創(chuàng)新中心(nic)簽署了關(guān)于培養(yǎng)越南集成電路設(shè)計(jì)人才的諒解備忘錄,支持nic成立芯片設(shè)計(jì)孵化中心。另外,新思科技與越南信息通訊部下屬的信息通信技術(shù)產(chǎn)業(yè)公司簽訂了支援越南半導(dǎo)體產(chǎn)業(yè)發(fā)展的諒解備忘錄
    的頭像 發(fā)表于 09-20 10:56 ?1450次閱讀

    實(shí)踐GoF的23種設(shè)計(jì)模式備忘錄模式

    相對(duì)于代理模式、工廠(chǎng)模式等設(shè)計(jì)模式,備忘錄模式(Memento)在我們?nèi)粘i_(kāi)發(fā)中出鏡率并不高,除了應(yīng)用場(chǎng)景的限制之外,另一個(gè)原因,可能是
    的頭像 發(fā)表于 11-25 09:05 ?445次閱讀
    實(shí)踐GoF的23種設(shè)計(jì)<b class='flag-5'>模式</b>:<b class='flag-5'>備忘錄</b><b class='flag-5'>模式</b>

    蘋(píng)果iOS 18將支持語(yǔ)音備忘錄及數(shù)學(xué)符號(hào)顯示

    首先是語(yǔ)音備忘錄功能。據(jù)悉,蘋(píng)果有意在iOS 18系統(tǒng)中加入此項(xiàng)功能,使iPhone用戶(hù)能夠便捷地錄制音頻文件,并將其直接嵌入至備忘錄之中。
    的頭像 發(fā)表于 04-18 11:14 ?380次閱讀