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

正文內容

設計模式速查手冊(參考版)

2025-04-07 00:27本頁面
  

【正文】 如果對象結構類經常改變,那么可能還是在這些類中定義這些操作較好。 ? 定義對象結構的類很少改變,但經常需 要在此結構上定義新的操作。 Vi s i t o r 使得你可以將相關的操作集中起來定義在一個類中。 適 用 環(huán) 境 ? 一個對象結構包含很多類對象,它們有不同的接口,而你想對這些對象實施一些依賴于其具體類的操作。 結 構 Visitor 名 稱 Visitor( 訪問者模式 ) 意 圖 表示一個作用于某對 象結構中的各元素的操作。 ? 控制子類擴展。首先識別現有代碼中的不同之處,并且將不同之處分離為新的操作。 ? 各子類中公共的行為應被提取出來并集中到一個公共父類中以避免代碼重復。 TemplateMethod使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。將相關的條件分支移入它們各自的 Strategy類中以代替這些條件語句??墒褂貌呗?模式以避免暴露復雜的、與算法相關的數據結構。當這些變體實現為一個算法的類層次時 ,可以使用策略模式。 ? 需要使用一個算法的不同變體。 適 用 環(huán) 境 ? 許多相關的類僅僅是行為有異。 結 構 Strategy 名 稱 Strategy( 策略模式 ) 意 圖 定義一系列的算法 ,把它們一個個封裝起來 , 并且使它們可相互替換。 State模式將每一個條件分支放入一個獨立的類中。這個狀態(tài)通常用一個或多個枚舉常量表示。 適 用 環(huán) 境 ? 一個對象的行為取決于它的狀態(tài) , 并且它必須在運行時刻根據狀態(tài)改變它的行為。 結 構 協 作 關 系 State 名 稱 State( 狀態(tài)模式 ) 意 圖 允許一個對象在其內部狀態(tài)改變時改變它的行為。 ? 當一個對象必須通知其它對象,而它又不能假定其它對象是誰。將這二者封裝在獨立的對象中以使它們可以各自獨立地改變和復用。 結 構 協 作 關 系 Observer 名 稱 Observer( 觀察者模式 ) 意 圖 定義對象間的一種一對多的依賴關系 ,當一個對象的狀態(tài)發(fā)生改變時 , 所有依賴于它的對象都得到通知并被自動更新。 適 用 環(huán) 境 ? 必須保存一個對象在某一個時刻的 (部分 )狀態(tài) , 這樣以后需要時它才能恢復到先前的狀態(tài)。 結 構 下面 是一個典型的對象模型的例子: Memento 名 稱 Memento( 備忘錄模式 ) 意 圖 在不破壞封裝性的前提下,捕獲一個對象的內部狀態(tài),并在該對象之外保存這個狀態(tài)。 ? 一個對象引用其他很多對象并且直接與這些對象通信 ,導致難以復用該對象。 適 用 環(huán) 境 ? 一組對象以定義良好但是復雜的方式進行通信。 結 構 Mediator 名 稱 Mediator( 中介者模式 ) 意 圖 用一個中介對象來封裝一系列的對象交互。 ? 支持對聚合對象的多種遍歷。 結 構 Iteartor 名 稱 Iteartor( 迭代器模式 ) 意 圖 提供一種方法順序訪問一個聚合對象中各個元素 , 而又不需暴露該對象的內部表示。例如,正則表達式通常被轉換成狀態(tài)機。它們無需構建抽象語法樹即可解釋表達式 , 這樣可以節(jié)省空間而且還可能節(jié)省時間。而當存在以下情況時該模式效果最好
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1