狀態圖

狀態圖依據物件的邏輯狀態或模式來指定物件的生命週期,主要是定義物件對外部刺激的回應。可以從在序列圖中的問題陳述式及物件生命線引出物件狀態。

下圖顯示 HomeHeatingSystem 範例中的 Room 狀態圖。

從 SomeoneEntersTheRoomFrom 序列圖中的 Room 生命線,您可以看見 Room 輪詢其 occupancy 屬性以查看是否被佔用。 如果被佔用,一旦居住者已在自動調溫器上設定期望溫度,它會將需要的暖氣送到 FurnaceRoom 一經從 Furnace 接收到訊息告知已經啟動,Room 會傳送訊息至 Valve 通知要開啟。當房間已經夠暖,Room 會通知 Furnace 停止產生暖氣,然後關閉 Valve。 最後,Room 會從 Furnace 接收到確認通知,讓它知道 Furnace 已停止。

由此事件順序,您可以看見 Room 有四個責任區域,或並行狀態

區域 責任
mode 根據佔有率來決定工作溫度。
heatMode 決定暖氣需求。
FurnaceMode 監視 Furnace 的狀態。
sampling 定期地抽樣暖氣及佔有率感應器。

回饋