撤銷功能的實現——備忘錄模式(一)

來源:互聯網
上載者:User

      每個人都有過後悔的時候,但人生並無後悔藥,有些錯誤一旦發生就無法再挽回,有些人一旦錯過就不會再回來,有些話一旦說出口就不可能再收回,這就是人生。為了不後悔,凡事我們都需要三思而後行。說了這麼多,大家可能已經暈了,不是在學設計模式嗎?為什麼弄出這麼一堆人生感悟來,呵呵,別著急,本章將介紹一種讓我們可以在軟體中實現後悔機制的設計模式——備忘錄模式,它是軟體中的“後悔藥”,是軟體中的“月光寶盒”。話不多說,下面就讓我們進入備忘錄模式的學習。

 

21.1 可悔棋的中國象棋

       Sunny軟體公司欲開發一款可以運行在Android平台的觸摸式中國象棋軟體,由於考慮到有些使用者是“菜鳥”,經常不小心走錯棋;還有些使用者因為不習慣使用手指在手機螢幕上拖動棋子,常常出現操作失誤,因此該中國象棋軟體要提供“悔棋”功能,使用者走錯棋或操作失誤後可恢複到前一個步驟。21-1所示:

圖21-1  Android版中國象棋軟體介面

      如何?“悔棋”功能是Sunny軟體公司開發人員需要面對的一個重要問題,“悔棋”就是讓系統復原到某個曆史狀態,在很多軟體中通常稱之為“撤銷”。下面我們來簡單分析一下撤銷功能的實現原理:

      在實現撤銷時,首先必須儲存軟體系統的曆史狀態,當使用者需要取消錯誤操作並且返回到某個曆史狀態時,可以取出事先儲存的曆史狀態來覆蓋目前狀態。21-2所示:

圖21-2撤銷功能

      備忘錄模式正為解決此類撤銷問題而誕生,它為我們的軟體提供了“後悔藥”,通過使用備忘錄模式可以使系統復原到某一特定的曆史狀態。

【作者:劉偉  http://blog.csdn.net/lovelion

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.