Version: 0.7.4

Claptrap

簡單來說 Claptrap = Actor + 事件溯源

Claptrap

Claptrap 是本框架定義的一種特殊 Actor。除了 Actor 的基礎特性之外,Claptrap 還被定義為具有以下特性:

狀態由事件進行控制。Actor 的狀態在 Actor 內部進行維護。Claptrap 同樣也是如此,不過改變 Claptrap 的狀態除了在 Actor 之外,還限定其只能通過事件進行改變。这就将事件溯源模式与 Actor 模式进行了结合。通過事件溯源模式保證了 Actor 狀態的正確性和可追溯性。這些改變 Claptrap 狀態的事件是由 Claptrap 自身產生的。事件產生的原因可以是外部的調用也可以是 Claptrap 內部的類別 觸發器機制產生的。

Claptrap 是 newbe36524 曾經玩過的一款老遊戲中的經典角色。點擊此處了解


以下是關於 Claptrap 的故事化描述,用於輔助理解。不必太過在意。

Claptrap 是一種結構簡單、功能簡單的機器人。雖然它能夠完成各種各樣的任務,但是它卻有一些限制。

Claptrap 是一種單線程的機器人,它每次只能進行一個任務。如果你想要交給它多個任務的話,它會按照事情安排的先後順序逐個處理。

Claptrap 工作的時候大概的過程是這樣的。當他接受到一個任務時,他會先考慮這個事情是否是他能夠百分之百完成的。如果這件事情他能夠百分之百完成,那麼那就將這件事情寫入到他的備忘錄當中,然後完成這件事情。然後接下來處理下一個事情。

每天早上一起來,Claptrap 做的第一件事情就是找回迷失的自我。找回昨天那個完美的自己。首先它會嘗試看看有沒有昨天的美美的照片,如果有的話,它將覆刻昨天的樣貌。接下來,從手中的備忘錄當中閱讀昨天拍照之後發生的種種事情,逐漸的恢復自己的記憶。這樣就成功的找回的自己。

Claptrap 是一種標準化的機器人。它們都產出於 Claptrap 工廠的生產線。工廠會按照 Claptrap 設計圖使用標準化的零組件來組裝一台 Claptrap 機器人。這些必要的組件主要包括了:記憶體、手持型備忘錄、多功能任務處理器和記憶體印表機。

記憶體。Claptrap 配備有一個定制化大小的記憶體,用於保存當前整機的狀態數據。由於記憶體數據的斷電易失性,所以假如 Claptrap 斷電了,那麼記憶體中的數據也就丟失了。

多功能任務處理器。基於成本的考慮,每個 Claptrap 配備的多功能任務處理器都是為了特種的任務定制過的。例如:專門用於消防的 Claptrap ,在它們的多功能任務處理器中基本上包含的都是和消防有關的功能。但是它就無法處理家政相關的任務。

手持型備忘錄。Claptrap 在做每件任務之前都會用手持型備忘錄記錄任務相關的一切細節,來確保任務的每個細節都準確無誤。

記憶體印表機。可以將記憶體當中的數據打印成一份可以持久化保存的物理格式,在實際生產中用的比較多的是 DNA 記憶體。由於記憶體數據的斷電易失性,所以重啟之後內存當中的數據只能通過備忘錄記錄來逐個找回。但由於備忘錄數據有可能很大,這樣恢復起來會比較的緩慢。有了記憶體印表機的幫助,便可以將某一時刻的記憶體狀態完全打印出來,這樣在重啟恢復時將加快記憶體數據恢復的速度。

ICON#

claptrap