第165章

小A:“狀態模式的實質是什麼?”

大B:“使用狀態模式前,客戶端外界需要介入改變狀態,而狀態改變的實現是瑣碎或複雜的。使用狀態模式後,客戶端外界可以直接使用事件Event實現,根本不必關心該事件導致如何狀態變化,這些是由狀態機等內部實現。這是一種Event-condition-State,狀態模式封裝了condition-State部分。每個狀態形成一個子類,每個狀態只關心它的下一個可能狀態,從而無形中形成了狀態轉換的規則。如果新的狀態加入,只涉及它的前一個狀態修改和定義。”

小A:“都有些什麼方法實現狀態轉換?”

大B:“一個在每個狀態實現next(),指定下一個狀態;還有一種方法,設定一個StateOwner,在StateOwner設定stateEnter狀態進入和stateExit狀態退出行爲。狀態從一個方面說明了流程,流程是隨時間而改變,狀態是截取流程某個時間片。”

第202章第51章第74章第208章第182章第80章第22章第146章第54章第156章第67章第195章第192章第138章第19章第29章第109章第203章第202章第7章第182章第203章第158章第228章第181章第46章第227章第8章第125章第66章第156章第175章第46章第105章第39章第19章第219章第103章第121章第215章第94章第70章第13章第24章第154章第15章第210章第44章第29章第56章第10章第226章第141章第43章第197章第2章第105章第183章第84章第154章第155章第105章第51章第82章第59章第189章第191章第6章第155章第3章第53章第15章第85章第31章第224章第126章第24章第197章第95章第78章第141章第18章第123章第201章第192章第192章第170章第121章第135章第57章第5章第136章第99章第20章第99章第114章第24章第10章第132章
第202章第51章第74章第208章第182章第80章第22章第146章第54章第156章第67章第195章第192章第138章第19章第29章第109章第203章第202章第7章第182章第203章第158章第228章第181章第46章第227章第8章第125章第66章第156章第175章第46章第105章第39章第19章第219章第103章第121章第215章第94章第70章第13章第24章第154章第15章第210章第44章第29章第56章第10章第226章第141章第43章第197章第2章第105章第183章第84章第154章第155章第105章第51章第82章第59章第189章第191章第6章第155章第3章第53章第15章第85章第31章第224章第126章第24章第197章第95章第78章第141章第18章第123章第201章第192章第192章第170章第121章第135章第57章第5章第136章第99章第20章第99章第114章第24章第10章第132章