欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

【設(shè)計(jì)模式與Android】備忘錄模式——在齊太史簡(jiǎn)

什么是備忘錄模式

成都創(chuàng)新互聯(lián)是一家專業(yè)提供濱江企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、網(wǎng)站建設(shè)、H5建站、小程序制作等業(yè)務(wù)。10年已為濱江眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

 

所謂備忘錄模式,就是在不破壞封閉的前提下,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài),以后可將這個(gè)對(duì)象恢復(fù)到原先保存的狀態(tài)的設(shè)計(jì)模式。

 

備忘錄模式的實(shí)現(xiàn)方式

 

備忘錄模式的實(shí)現(xiàn)方式需要保證被保存的對(duì)象狀態(tài)不能被對(duì)象從外部訪問,目的是為了保護(hù)好被保存的這些對(duì)象狀態(tài)的完整性以及內(nèi)部實(shí)現(xiàn)不向外暴露。

 

民族英雄文天祥《正氣歌》記載了一個(gè)“在齊太史簡(jiǎn)”的故事,我們先定義一個(gè)歷史類:

public classHistory {

    privateString[]recorders= {"太史伯","太史仲","太史叔","太史季","南史氏"};
    private intrecord_num=0;//被崔杼殺害的史官數(shù)量
    privateStringtruth="崔杼弒其君";

    publicHistory(intrecord_num) {
        this.record_num= record_num;
    }

    /**
     * 發(fā)生
     */
    public voidhappen(){
        Log.e("歷史事件發(fā)生",truth);
    }

    /**
     * 記錄
     */
    publicMemoto record(){
        Log.e(recorders[record_num] +"書曰",truth);
        Memoto memoto =newMemoto(truth);
        returnmemoto;
    }

    /**
     * 史官遇害
     */
    public voidkillRecorder(){
        truth="暴病而死";
        Log.e("崔杼殺害"+recorders[record_num] +",妄圖篡改歷史",truth);
    }

    /**
     * 前赴后繼
     */
    public voidrecordAgain(Memoto memoto){
        this.truth= memoto.getTruth();
        Log.e(recorders[record_num] +"嗣書",truth);
    }

}

 

記載真相的備忘錄:

public classMemoto {

    privateStringtruth;

    publicMemoto(String truth) {
        this.truth= truth;
    }

    publicString getTruth() {
        returntruth;
    }
}

 

備忘錄的操作者Caretaker:

public classCaretaker {

    Memotomemoto;

    public voidarchive(Memoto memoto){
        this.memoto= memoto;
    }

    public  Memoto getMemoto(){
        returnmemoto;
    }

}

 

“在齊太史簡(jiǎn)”的全過程:

History history_0 =newHistory(0);
history_0.happen();

Caretaker caretaker =newCaretaker();

caretaker.archive(history_0.record());
history_0.killRecorder();

History history_1 =newHistory(1);
history_1.recordAgain(caretaker.getMemoto());
history_1.killRecorder();

History history_2 =newHistory(2);
history_2.recordAgain(caretaker.getMemoto());
history_2.killRecorder();

History history_3 =newHistory(3);
history_3.recordAgain(caretaker.getMemoto());

 

無獨(dú)有偶,秦始皇滅趙之后第一件事就是把趙國(guó)的史書全部燒毀,可是那句“某年月日,秦王為趙王擊缻”還是被司馬遷記錄下來,千古流傳,這也是現(xiàn)實(shí)中的備忘錄模式的功勞。

 

Android源碼中的備忘錄模式

 

(1)onSaveInstanceState

當(dāng)某個(gè)Activity變得容易被系統(tǒng)銷毀時(shí),該Activity的onSaveInstanceState方法就會(huì)被執(zhí)行,除非該Activity是被用戶主動(dòng)銷毀的。

 

Android開發(fā)中如何利用備忘錄模式

 

(1)備忘錄模式給用戶提供了一種可以恢復(fù)狀態(tài)的機(jī)制,可以使用戶能夠比較方便地回到某個(gè)歷史的狀態(tài)。

 

(2)備忘錄模式實(shí)現(xiàn)了信息的封裝,使得用戶不需要關(guān)心狀態(tài)的保存細(xì)節(jié)。

 

需要注意的幾個(gè)問題

 

(1)備忘錄模式的缺點(diǎn)在于消耗資源。如果類的成員變量過多,勢(shì)必會(huì)占用比較大的資源,而且每一次保存都會(huì)消耗一定的內(nèi)存。

網(wǎng)站標(biāo)題:【設(shè)計(jì)模式與Android】備忘錄模式——在齊太史簡(jiǎn)
分享地址:http://aaarwkj.com/article8/jjpsip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站建設(shè)網(wǎng)站營(yíng)銷、微信公眾號(hào)、、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
视频免费观看网站不卡| 国产老熟女一区二区三区| 国产特级黄色片免费看| 亚洲欧美日韩精品麻豆| 欧美在线观看日韩精品| 日韩亚洲欧美不卡在线| 18禁黄网站免费视频| 日韩人妻一区二区三区蜜桃视频密 | 人妻一区二区三区久久| 精品福利视频一区二区| 自拍偷拍亚洲丝袜大秀| 国模一区二区三区视频| 亚洲一区二区日韩人妻| 乡村丰满的大屁股熟妇| 99精品人妻一区二区三区蜜桃| 在线激情av中文字幕| 日韩在线不卡一二三| 五月天丁香婷婷狠狠狠| 日韩精品熟妻人女亚洲一区| 欧美日韩国产看片一区二区| av在线中文字幕乱码| 日本熟女俱乐部一区二区| 人成午夜视频在线播放| 黑丝美女大战白丝美女| 在线免费观看欧美黄片| 韩国三级伦理中文字幕| 国产精品国产自产拍高清 | 日进去了啊内射视频| 亚洲综合欧美自偷自拍| 久久精品亚洲天然东京热| 91香蕉伊人综合久久麻豆| 亚洲av乱码一区二区三四五六七| 亚洲中文字幕少妇熟女美妇| 国产精品男人在线播放| 超碰91人人草人人干| 老汉av免费在线观看| 国产精品国产亚洲精品| av二区不卡国产精品| 国产成人精品久久一区二区| 国产av剧情一区二区| 国产真人作爱视频免费|