freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

設(shè)計(jì)模式速查手冊(cè)(編輯修改稿)

2025-05-09 00:27 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 除對(duì)象的外部狀態(tài),那么可以用相對(duì)較少的共享對(duì)象取代很多組對(duì)象。 ? 應(yīng)用程序不依賴于對(duì)象標(biāo)識(shí)。由于 Flyweight對(duì)象可以被共享,對(duì)于概念上明顯有別的對(duì)象,標(biāo)識(shí)測(cè)試將返回真值。 結(jié) 構(gòu) Proxy 名 稱 Proxy(代理模式) 意 圖 為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問 。 適 用 環(huán) 境 在需要用比較通用和復(fù)雜的對(duì)象指針代替簡(jiǎn)單的指針的時(shí)候,使用 Proxy模式。下面是一些可以使用 Proxy模式常見情況: ? 遠(yuǎn)程代理( Remote Proxy )為一個(gè)對(duì)象在不同的地址空間提供局部代表。 ? 虛代理( Virtual Proxy )根據(jù)需要 創(chuàng)建開銷很大的對(duì)象。 ? 保護(hù)代理( Protection Proxy )控制對(duì)原始對(duì)象的訪問。保護(hù)代理用于對(duì)象應(yīng)該有不同的訪問權(quán)限的時(shí)候。 ? )智能指引( Smart Reference )取代了簡(jiǎn)單的指針,它在訪問對(duì)象時(shí)執(zhí)行一些附加操作。 它的典型用途包括: ? 對(duì)指向?qū)嶋H對(duì)象的引用計(jì)數(shù),這樣當(dāng)該對(duì)象沒有引用時(shí),可以自動(dòng)釋放它。 ? 當(dāng)?shù)谝淮我靡粋€(gè)持久對(duì)象時(shí),將它裝入內(nèi)存。 ? 在訪問一個(gè)實(shí)際對(duì)象前,檢查是否已經(jīng)鎖定了它,以確保其他對(duì)象不能改變它。 結(jié) 構(gòu) Chain of Responsibility 名 稱 Chain of Responsibility( 職責(zé)鏈模式 ) 意 圖 使多個(gè)對(duì)象都有機(jī)會(huì)處理請(qǐng)求,從而避免請(qǐng)求的發(fā)送者和接收者之間的耦合關(guān)系。將這些對(duì)象連成一條鏈,并沿著這條鏈傳遞該請(qǐng)求,直到有一個(gè)對(duì)象處理它為止。 適 用 環(huán) 境 ? 有多個(gè)的對(duì)象可以處理一個(gè)請(qǐng)求,哪個(gè)對(duì)象處理該請(qǐng)求運(yùn)行時(shí)刻自動(dòng)確定。 ? 你想在不明確指定接收者的情況下,向多個(gè)對(duì)象中的一個(gè)提交一個(gè)請(qǐng)求。 ? 可處理一個(gè)請(qǐng)求的對(duì)象集合應(yīng)被動(dòng)態(tài)指定。 結(jié) 構(gòu) Command 名 稱 Command(命令模式) 意 圖 將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使你可用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化;對(duì)請(qǐng)求排隊(duì)或記錄請(qǐng)求日志,以及支持可撤消的操作。 適 用 環(huán) 境 ? 抽象出待執(zhí)行的動(dòng)作以參數(shù)化某對(duì)象。你可用過程語言中的回調(diào)( Call back)函數(shù)表達(dá)這種參數(shù)化機(jī)制。所謂回調(diào)函數(shù)是指函數(shù)先在某處注冊(cè),而它將在稍后某個(gè)需要的時(shí)候被調(diào)用。 Command模式是回調(diào)機(jī)制的一個(gè)面向?qū)ο蟮奶娲贰? ? 在不同的時(shí)刻指定、排列和執(zhí)行請(qǐng)求。一個(gè) Command對(duì)象可以有一個(gè)與初始請(qǐng)求無關(guān)的生存期。如果一個(gè)請(qǐng)求的接收者可用一種與地址 空間無關(guān)的方式表達(dá),那么就可將負(fù)責(zé)該請(qǐng)求的命令對(duì)象傳送給另一個(gè)不同的進(jìn)程并在那兒實(shí)現(xiàn)該請(qǐng)求。 ? 支持取消操作。 Command的 Excute操作可在實(shí)施操作前將狀態(tài)存儲(chǔ)起來,在取消操作時(shí)這個(gè)狀態(tài)用來消除該操作的影響。 Command接口必須添加一個(gè)Unexcute操作,該操作取消上一次 Excute調(diào)用的效果。執(zhí)行的命令被存儲(chǔ)在一個(gè)歷史列表中??赏ㄟ^向后和向前遍歷這一列表并分別調(diào)用 Unexcute和 Excute來實(shí)現(xiàn)重?cái)?shù)不限的“取消”和“重做”。 ? 支持修改日志,這樣當(dāng)系統(tǒng)崩潰時(shí),這些修改可以被重做一遍。在 Command接口中添加裝載操作和存儲(chǔ)操作,可以用來保持變動(dòng)的一個(gè)一致的修改日志。從崩潰中恢復(fù)的過程包括從磁盤中重新讀入記錄下來的命令并用Excute操作重新執(zhí)行它們。 ? 用構(gòu)建在原語操作上的高層操作構(gòu)造一個(gè)系統(tǒng)。這樣一種結(jié)構(gòu)在支持事務(wù)(transaction)的信息系統(tǒng)中很常見。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1