第166章

bookmark

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

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

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

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

第190章第170章第161章第131章第107章第32章第128章第85章第109章第12章第49章第35章第206章第180章第224章第199章第3章第141章第149章第173章第4章第217章第12章第81章第137章第32章第12章第7章第220章第89章第42章第95章第206章第155章第85章第218章第108章第151章第91章第86章第73章第91章第223章第153章第2章第148章第141章第194章第3章第225章第191章第145章第224章第204章第222章第195章第105章第201章第117章第175章第175章第93章第38章第99章第57章第197章第172章第189章第61章第227章第195章第139章第19章第139章第227章第20章第13章第176章第143章第139章第124章第45章第61章第219章第166章第70章第1章第178章第187章第189章第9章第215章第46章第82章第224章第209章第130章第202章第94章第140章
第190章第170章第161章第131章第107章第32章第128章第85章第109章第12章第49章第35章第206章第180章第224章第199章第3章第141章第149章第173章第4章第217章第12章第81章第137章第32章第12章第7章第220章第89章第42章第95章第206章第155章第85章第218章第108章第151章第91章第86章第73章第91章第223章第153章第2章第148章第141章第194章第3章第225章第191章第145章第224章第204章第222章第195章第105章第201章第117章第175章第175章第93章第38章第99章第57章第197章第172章第189章第61章第227章第195章第139章第19章第139章第227章第20章第13章第176章第143章第139章第124章第45章第61章第219章第166章第70章第1章第178章第187章第189章第9章第215章第46章第82章第224章第209章第130章第202章第94章第140章