更進一步
VMware 提供培訓和認證,以加速您的進步。
瞭解更多我們很高興地宣佈 Spring Statemachine 1.0.0.M1 的第一個里程碑版本釋出。這篇部落格也作為這個新專案的介紹。
雖然寫一篇介紹最新尖端技術的部落格文章會很棒,但有限狀態機存在的時間比這篇文章的讀者(爺爺,您現在可以放下手了)還要長。有些技術來了又走,然後還有一些基本技術一直存在,僅僅是因為它們被證明有效。
每個程式設計師很可能已經在他們的應用程式中使用某種狀態的概念。當應用程式基於該標誌做出決策時,擁有一個簡單的布林標誌本身就已經是一個簡單的狀態機。然後,程式設計師投入更多的標誌、列舉和一堆 if/else/break 結構,這對於簡單的用例來說是完全沒問題的。
將狀態和應用程式邏輯結合在一起的問題是,隨著時間的推移,當應用程式變得更加複雜時,程式碼通常開始看起來像一盤義大利麵,並且每次程式設計師更改一個部分,其他一些部分就會被破壞。
Spring Statemachine 是一個框架,供應用程式開發人員將 狀態機 概念與 Spring 應用程式一起使用,旨在提供以下功能:
在某些事情可能非同步發生的應用程式中,正確的狀態處理非常重要。這在雲環境中尤其重要,在雲環境中很容易遇到併發問題。 Spring Statemachine 是狀態處理的另一種方式,例如 Spring Cloud Cluster 專案旨在透過其 分散式鎖 和 領導者選舉 等功能提供。
專案頁面 包含一個簡單的示例,可以瞭解 Spring Statemachine 的工作方式。我們還製作了一些 示例,這些示例在我們的參考文件中進行了更詳細的解釋。這些示例與 Spring Boot 一起打包,並使用 Spring Shell 來啟動互動式 shell,您可以使用它與狀態機進行互動。這是一種無需重新編譯即可檢視不同行為的好方法。
我們很樂意透過參與 Spring Statemachine 專案 或簡單地在 GitHub 上建立問題或功能請求來聽取人們的想法。