<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

設計模式行為型:備忘錄模式

冬至子 ? 來源:碼農架構 ? 作者:小智 ? 2023-06-07 11:16 ? 次閱讀

備忘錄模式(Memento Pattern)保存一個對象的某個狀態,以便在適當的時候恢復對象。備忘錄模式屬于行為型模式。

在不破壞封裝的前提下,捕獲對象的內部狀態,并在對象外存儲這個內部狀態,以便將來回滾到這一狀態。

所謂備忘錄模式就是在不破壞封裝的前提下,捕獲一個對象的內部狀態,并在該對象之外保存這個狀態,這樣可以在以后將對象恢復到原先保存的狀態。

結構圖

鎖用來對數據進行鎖定,我們可以從鎖定對象的粒度大小來對鎖進行劃分,分別為行鎖、頁鎖和表鎖。

圖片

角色與理解

  • 備忘錄模式共分為三種種角色:
  • Originator(原發器):需要被記錄狀態的類
  • Memento(備忘錄):記錄原發器狀態的類,內部含有原發器的部分屬性或者全部屬性,不能被其他類所修改
  • Caretaker(管理者):管理備忘錄
  • 原發器創建備忘錄記錄此刻內部各屬性的值,將備忘錄交給管理者管理,回滾狀態時,從管理者中獲取備忘錄,重置內部屬性

核心代碼

  • 原發器

圖片

  • 備忘錄

圖片

  • 管理者

圖片

  • 客戶端

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲器
    +關注

    關注

    38

    文章

    7212

    瀏覽量

    162396
收藏 人收藏

    評論

    相關推薦

    HarmonyOS開發實例:【手機備忘錄

    基于用戶首選項,實現了備忘錄新增、更新、刪除以及查找等功能。
    的頭像 發表于 04-18 21:40 ?436次閱讀
    HarmonyOS開發實例:【手機<b class='flag-5'>備忘錄</b>】

    70 面向對向設計模式實踐之備忘錄(快照)模式

    前端
    小凡
    發布于 :2022年08月28日 16:12:28

    高顏值智能備忘錄:不再遺忘任何要事

    摸出手機,在屏幕上找出備忘錄,打字,糾錯,排版...感覺好心塞...或者某天你在跑步,突然想起要給明天生日的女朋友買禮物,你在心里反復提醒,然后...跪了一晚上榴蓮...面對這些情況,小編特別想給大家
    發表于 05-19 21:48

    PostgreSQL操作備忘錄

    PostgreSQL 操作備忘錄
    發表于 05-23 08:48

    UDS診斷命令備忘錄

    UDS實踐性強,邏輯復雜,很多服務非要體驗過一次才能理解,導致包括我在內的初學者感覺晦澀難懂,不明覺厲,因此將自己的理解寫下來、整理下來,與君共勉。零、UDS診斷命令備忘錄一、簡介UDS
    發表于 08-26 16:09

    怎樣去搭建一種基于XR806的開源桌面備忘錄

    本人計劃懟一個開源桌面備忘錄/天氣預報/相冊的項目基于XR806,同時學習鴻蒙操作系統獲得暈哥贈送的開發板和芯片,目前處于環境搭建階段看起來這個芯片玩的人比較少,目前遇到了問題,不知道如何解決,希望
    發表于 12-28 06:52

    keil5MDK和eplan2.7安裝備忘錄相關資料分享

    備忘錄是防止以后安裝的時候忘記步驟和主要問題。keil5安裝我第一次使用的是軟件安裝管家的安裝包,安完以后發現注冊碼一直弄不上,芯片庫里邊也沒有STM32的芯片。然后找到大二時候電子工藝實習
    發表于 01-10 07:06

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

    7月25日,奔馳母公司戴姆勒與百度簽署諒解備忘錄,深化雙方在自動駕駛和車聯網等領域的戰略合作。
    的頭像 發表于 07-28 09:53 ?2575次閱讀

    設計模式備忘錄設計模式

    備忘錄設計模式(Memento Design Pattern)是一種行為型設計模式,它的主要目的是在不破壞對象封裝性的前提下,捕捉和保存一個對象的內部狀態
    的頭像 發表于 06-06 11:19 ?643次閱讀

    設計模式行為型:策略模式

    在策略模式(Strategy Pattern)中,一個類的行為或其算法可以在運行時更改。這種類型的設計模式屬于行為模式。
    的頭像 發表于 06-07 11:18 ?470次閱讀
    設計<b class='flag-5'>模式</b><b class='flag-5'>行為</b>型:策略<b class='flag-5'>模式</b>

    設計模式行為型:狀態模式

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

    行為型設計模式在UVM中的應用

    接下來介紹行為型設計模式在UVM中的應用。
    的頭像 發表于 08-09 14:01 ?431次閱讀
    <b class='flag-5'>行為</b>型設計<b class='flag-5'>模式</b>在UVM中的應用

    實踐GoF的23種設計模式備忘錄模式

    相對于代理模式、工廠模式等設計模式,備忘錄模式(Memento)在我們日常開發中出鏡率并不高,除了應用場景的限制之外,另一個原因,可能是
    的頭像 發表于 11-25 09:05 ?311次閱讀
    實踐GoF的23種設計<b class='flag-5'>模式</b>:<b class='flag-5'>備忘錄</b><b class='flag-5'>模式</b>

    億緯鋰能與Aksa簽署諒解備忘錄,共建土耳其合資公司

    根據這份諒解備忘錄, 億緯鋰能和Aksa同意在土耳其設立一個合資企業。至于合資企業的股權結構、管理模式、融資途徑等具體內容將在未來的合資協議中予以詳述。
    的頭像 發表于 01-16 10:22 ?335次閱讀

    容百科技宣布與SK On簽訂《合作備忘錄

    本周,容百科技宣布與SK On簽訂《合作備忘錄》,雙方將圍繞三元和磷酸錳鐵鋰正極開展深度合作。
    的頭像 發表于 03-29 09:56 ?194次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>