Spring Statemachine 1.0.0.M1 版本發布

發布 | Janne Valkealahti | 2015 年 4 月 14 日 | ...

我們很高興宣布 Spring Statemachine 1.0.0.M1 的第一個里程碑版本發布。 這篇部落格文章也將作為這個新專案的介紹。

雖然撰寫一篇介紹最新尖端技術的部落格文章會很棒,但有限狀態機存在的时间比這篇文章的讀者(爺爺,你可以放下你的手了)還要久。 有些技術來來去去,然後還有一些根本的技術會留下來,僅僅因為它們被證明是有效的。

每個程式設計師很可能已經在其應用程式中使用某種狀態的概念。 當應用程式根據該標誌做出決策時,擁有一個簡單的布林標誌本身就是一個簡單的狀態機。 然後,程式設計師會投入更多的標誌、枚舉以及一堆 if/else/break 結構,這對於簡單的用例來說是完全沒問題的。

將狀態和應用程式邏輯烘烤在一起的問題是,隨著時間的推移,當應用程式變得更加複雜時,程式碼通常開始看起來像一盤義大利麵,並且每次程式設計師更改一部分時,其他一些部分就會損壞。

Spring Statemachine 是一個框架,供應用程式開發人員將 狀態機 概念與 Spring 應用程式一起使用,旨在提供以下功能:

  • 易於使用的平面單層狀態機,適用於簡單的用例。
  • 分層狀態機結構,簡化複雜的狀態配置。
  • 狀態機區域,以提供更複雜的狀態配置。
  • 觸發器、轉換、守衛和動作的使用。
  • 類型安全配置適配器。
  • 狀態機事件監聽器。
  • Spring IOC 整合,以將 bean 與狀態機關聯。

在某些事情可能非同步發生的應用程式中,適當的狀態處理非常重要。 這在雲端環境中尤其重要,因為在雲端環境中很容易在並發方面遇到麻煩。 Spring Statemachine 是狀態處理的另一種風味,例如 Spring Cloud Cluster 專案旨在透過其諸如分散式鎖領導者選舉等功能提供。

專案頁面包含一個簡單的範例,可讓您了解 Spring Statemachine 的工作方式。 我們還製作了一些 範例,這些範例在我們的參考文件中進行了更詳細的說明。 這些範例與 Spring Boot 一起打包,並使用 Spring Shell 來啟動互動式 shell,您可以使用該 shell 與狀態機進行互動。 這是一種無需重新編譯即可查看不同行為的絕佳方式。

我們很樂意透過參與 Spring Statemachine 專案或僅在 GitHub 上建立問題或功能請求,來了解人們的想法。

取得 Spring 電子報

隨時掌握 Spring 電子報的最新資訊

訂閱

搶先一步

VMware 提供培訓和認證,以加速您的進展。

了解更多

取得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

了解更多

即將舉行的活動

查看 Spring 社群中所有即將舉行的活動。

查看全部