簡體中文 | 繁體中文

大話設計模式-----第166章


桃運高手 絕代邪少 老師,不可以 重生之神級學霸 一夜索歡 醫道無涯 總裁的完美甜心 總裁的蜜愛新妻 禍亂創世紀 網遊之混沌至尊 花都特工之王 虛空大帝 偷靈脩真 邪神門徒 死亡列車 金和銀的故事 空港疑案 王子的心維修中 紅塵夢影 血路救贖
第166章

小A:“怎樣去比較狀態模式和策略模式?”

大B:“在狀態模式中,狀態的變遷是由物件的內部條件決定,外界只需關心其介面,不必關心其狀態物件的建立和轉化;而策略模式裡,採取何種策略由外部條件(C)決定。Strategy模式與State模式的結構形式幾乎完全一樣。但它們的應用場景(目的)卻不一樣,State模式重在強調物件內部狀態的變化改變物件的行為,Strategy模式重在外部對策略的選擇,策略的選擇由外部條件決定,也就是說演算法的動態的切換。但由於它們的結構是如此的相似,可以認為狀態模式是完全封裝且自修改的策略模式。”

小A:“公認的事實:策略和狀態模式是孿生兄弟。”

大B:“就像你所知道的,策略模式透過可互換的演算法規則來建立非常成功的業務模式。不管怎麼樣,狀態以非常高尚的方式幫助物件學習透過他們內部的狀態來控制他們的行為。他總是無意中告訴他的物件客戶,‘跟著我重複就行了,我足夠好,我足夠聰明……’”

推薦小說