A state machine?
describes the behaviour of an object in terms of
events that affect the object and the?
state of the object between events
狀態(tài)機定義了在不同事件之間對象的行為和狀態(tài)
State(狀態(tài))
State(“狀態(tài)”),就是一個系統(tǒng)在其生命周期中某一時刻的運行情況,此時,系統(tǒng)會執(zhí)行一些動作,或者等待一些外部輸入。
Event(事件)
Event(“事件”),就是在一定的時間和空間上發(fā)生的對系統(tǒng)有意義的事情。
Guard(條件)
狀態(tài)機對外部消息進行響應的時候,除了需要判斷當前的狀態(tài),還要判斷
跟這個狀態(tài)相關的一些條件是否成立。這種判斷稱為guard(“條件”)。guard
通過允許或者禁止某些操作來影響狀態(tài)機的行為。
Transition(遷移)
從一個狀態(tài)切換到另一個狀態(tài)被稱為Transition(“遷移”)。引起狀態(tài)遷移的事件被稱為triggering event (“觸發(fā)事件”),或者被簡稱為trigger (“觸發(fā)”)。
state-dependent object:
Reacts differently to events depending on the object’s state會根據(jù)event不同作出不同的反應
state-independent object:
For all events of interest, an object always reacts to the event the same way所有的event都只會有一種反應

例子

在state a下,根據(jù)條件(guard)觸發(fā)了trainsition
