<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                有些事,錯誤了就是永遠;有些人,一轉身就是一輩子,不要輕易忽略任何愛,哪怕只是前天母親節一通平凡的電話;時光走著她的路,路過青春的腳步,每個人或許都有遺憾的時候,總是要等到睡覺前,才知道功課只做了一點點總是要等到考試后,才知道該念的書都沒有念,為了讓自己的人生少些許遺憾,需要我們做好時間管理,提前做好準備,認真思量之后再做打算。 但是在神奇的編程世界中,有一種魔法,可以讓你避免很多遺憾,強大的word中具有“Ctrl+Z”的功能,PS等一些軟件中,也具有此類功能,基本上所有的帶編輯功能的軟件都具有撤銷這個功能,撤銷功能給了我們恢復先前狀態的機會。拿我們電腦系統而言,可以進行備份,把系統打成壓縮包就是備份,為了在系統出現崩潰情況或中毒時還原成以前的樣子!今天我們的模式就從備份開始說起,備忘錄模式----在不破壞封裝性的前提下,捕獲一個對象的內部狀態,并在該對象之外保存這個狀態。這樣以后就可將該對象恢復到保存的狀態。一如她自己的名字,就是為了備忘,首先我們來看一下備忘錄模式的結構圖: ? ? ? ? ?![](https://box.kancloud.cn/2015-12-30_5683743d22a02.jpg) 剛開始接觸的電腦的時候,首先需要掌握的就是學會裝系統,裝來裝去,免不了有點兒麻煩,這個時候,有了新的需求,就有了新的解決方案,那就是對我們先前的電腦進行備份,有句話這樣說,備份是一種態度, 以電腦備份為例,看看備忘錄模式如何在實際中運用: 發起人(Originator)類 ~~~ public?class?WindowsSystem?? ????{?? ????????private?string?status;?? ??????????????????????????????????????????//需要保存的屬性?? ????????public?string?Status?? ????????{?? ????????????get?? ????????????{?? ????????????????return?status;?? ????????????}?? ????????????set?? ????????????{?? ????????????????status?=?value;?? ????????????}?? ????????}?? ?? ?? ????????public?Memento?createOtherSystem()?????????????//創建備忘錄?? ????????{?? ????????????return?new?Memento(status);?? ????????}?? ????????public?void?recoverSystem(Memento?m)???????????//恢復備忘錄?? ????????{?? ????????????this.status?=?m.Status;?? ????????}?? ????}?? ~~~ 備忘錄(Memento)類 ~~~ public?class?Memento?? ????{?? ????????private?string?status;?? ??????????????????????????? ????????public?string?Status?? ????????{?? ????????????get?? ????????????{?? ????????????????return?status;?? ????????????}?? ????????????set?? ????????????{?? ????????????????Console.WriteLine("系統處于:"?+?this.status);?? ????????????????status?=?value;?? ????????????}?? ????????}?? ?? ????????public?Memento(string?status)?? ????????{?? ????????????this.status?=?status;?? ????????}?? ????}?? ~~~ 管理者(Caretaker)類 ~~~ public?class?UserComputer?? ????{?? ????????private?Memento?memento;?? ?? ????????public?Memento?recoverMemento()?? ????????{?? ????????????//?恢復系統???? ????????????return?this.memento;?? ????????}?? ?? ????????public?void?createMemento(Memento?memento)?? ????????{?? ????????????//?保存系統???? ????????????this.memento?=?memento;?? ????????}?? ????}???? ~~~ 客戶端程序 ~~~ ?class?Program?? ????{?? ????????static?void?Main(string[]?args)?? ????????{?? ????????????WindowsSystem?Win8?=?new?WindowsSystem();?//?Win8系統???? ????????????UserComputer?user?=?new?UserComputer();??? ????????????Win8.Status?=?"良好的狀態";?//?Win8處于良的運行狀態???? ????????????user.createMemento(Win8.createOtherSystem());?//?用戶進行備份,Win8系統產生備份文件???? ????????????Win8.Status?=?"狀態較差";?//?Win8處于較差的狀態?? ????????????Win8.recoverSystem(user.recoverMemento());?//?用戶發出命令,進行備份還原??? 11. ????????????Console.WriteLine("當前系統處于"?+?Win8.Status);?? ????????????Console.ReadKey();???? ????????}?? ????}?? ~~~ 在軟件開發中,有時需要保存一個對象的狀態,以便于允許用戶取消相關操作或者從以往的狀態中恢復過來。比如一個文檔版本管理系統,可以根據需要將指定文檔恢復到之前保存過的任意一個狀態。這時就可以通過備忘錄模式來實現。備忘錄模式在我們生活中的應用還有很多,比如象棋中的悔棋功能,游戲中的存檔功能,都是備忘錄在實際生活中的應用。 用好備忘錄,讓我們的人生中少些許遺憾和后悔,多一份精彩,多一份期待......
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看