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

正文內(nèi)容

設(shè)計(jì)模式速查手冊-資料下載頁

2025-04-03 00:27本頁面
  

【正文】 協(xié) 作 關(guān) 系 State 名 稱 State( 狀態(tài)模式 ) 意 圖 允許一個(gè)對象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為。對象看起來似乎修改了它的類。 適 用 環(huán) 境 ? 一個(gè)對象的行為取決于它的狀態(tài) , 并且它必須在運(yùn)行時(shí)刻根據(jù)狀態(tài)改變它的行為。 ? 一個(gè)操作中含有龐大的多分支的條件語句,且這些分支依賴于該對象的狀態(tài)。這個(gè)狀態(tài)通常用一個(gè)或多個(gè)枚舉常量表示。通常 , 有多個(gè)操作包含這一相同的條件結(jié)構(gòu)。 State模式將每一個(gè)條件分支放入一個(gè)獨(dú)立的類中。這使得你可以根據(jù)對象自身的情況將對象的狀態(tài)作為一個(gè)對象,這一對象可以不依賴于其他對 象而獨(dú)立變化。 結(jié) 構(gòu) Strategy 名 稱 Strategy( 策略模式 ) 意 圖 定義一系列的算法 ,把它們一個(gè)個(gè)封裝起來 , 并且使它們可相互替換。本模式使得算法可獨(dú)立于使用它的客戶而變化。 適 用 環(huán) 境 ? 許多相關(guān)的類僅僅是行為有異。 “ 策略 ” 提供了一種用多個(gè)行為中的一個(gè)行為來配置一個(gè)類的方法。 ? 需要使用一個(gè)算法的不同變體。例如,你可能會定義一些反映不同的空間 /時(shí)間權(quán)衡的算法。當(dāng)這些變體實(shí)現(xiàn)為一個(gè)算法的類層次時(shí) ,可以使用策略模式。 ? 算法使用客戶不應(yīng)該知道的數(shù)據(jù)??墒褂貌呗?模式以避免暴露復(fù)雜的、與算法相關(guān)的數(shù)據(jù)結(jié)構(gòu)。 ? 一個(gè)類定義了多種行為 , 并且這些行為在這個(gè)類的操作中以多個(gè)條件語句的形式出現(xiàn)。將相關(guān)的條件分支移入它們各自的 Strategy類中以代替這些條件語句。 結(jié) 構(gòu) TemplateMethod 名 稱 TemplateMethod( 模板方法模式 ) 意 圖 定義一個(gè)操作中的算法的骨架,而將一些步驟延遲到子類中。 TemplateMethod使得子類可以不改變一個(gè)算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。 適 用 環(huán) 境 ? 一次性實(shí)現(xiàn)一個(gè)算法的不 變的部分,并將可變的行為留給子類來實(shí)現(xiàn)。 ? 各子類中公共的行為應(yīng)被提取出來并集中到一個(gè)公共父類中以避免代碼重復(fù)。這是 Opdyke和 Johnson所描述過的 “ 重分解以一般化 ” 的一個(gè)很好的例子。首先識別現(xiàn)有代碼中的不同之處,并且將不同之處分離為新的操作。最后,用一個(gè)調(diào)用這些新的操作的模板方法來替換這些不同的代碼。 ? 控制子類擴(kuò)展。模板方法只在特定點(diǎn)調(diào)用 “hook ” 操作,這樣就只允許在這些點(diǎn)進(jìn)行擴(kuò)展。 結(jié) 構(gòu) Visitor 名 稱 Visitor( 訪問者模式 ) 意 圖 表示一個(gè)作用于某對 象結(jié)構(gòu)中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用于這些元素的新操作。 適 用 環(huán) 境 ? 一個(gè)對象結(jié)構(gòu)包含很多類對象,它們有不同的接口,而你想對這些對象實(shí)施一些依賴于其具體類的操作。 ? 需要對一個(gè)對象結(jié)構(gòu)中的對象進(jìn)行很多不同的并且不相關(guān)的操作,而你想避免讓這些操作 “ 污染 ” 這些對象的類。 Vi s i t o r 使得你可以將相關(guān)的操作集中起來定義在一個(gè)類中。當(dāng)該對象結(jié)構(gòu)被很多應(yīng)用共享時(shí),用 Vi s i t o r 模式讓每個(gè)應(yīng)用僅包含需要用到的操作。 ? 定義對象結(jié)構(gòu)的類很少改變,但經(jīng)常需 要在此結(jié)構(gòu)上定義新的操作。改變對象結(jié)構(gòu)類需要重定義對所有訪問者的接口,這可能需要很大的代價(jià)。如果對象結(jié)構(gòu)類經(jīng)常改變,那么可能還是在這些類中定義這些操作較好。 結(jié) 構(gòu) 協(xié) 作 關(guān) 系
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1