成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊聊一個用 Go 實現(xiàn)的有限狀態(tài)機

開發(fā) 項目管理
為什么需要區(qū)分業(yè)務?因為絕大多數(shù)業(yè)務的狀態(tài)值都是從數(shù)據(jù)庫中獲取的,比如訂單表的訂單狀態(tài),商品表中的商品狀態(tài),有可能值是相同的。

easyfsm

之前看過新亮老哥的go-fsm-order,感覺還不錯。最近在遷移項目的時候,發(fā)現(xiàn)有多處業(yè)務存在一些狀態(tài)的流轉,所以就基于go-fsm-order做了重改,讓它可以在不同的業(yè)務場景下使用。

為什么不使用looplab/fsm,star挺多的啊。

不是特別喜歡,每次實例化fsm都需要重新傳遞對應events(雖然我們可以統(tǒng)一封裝),我更期望在項目啟動時把此項目涉及到不同業(yè)務狀態(tài)機流轉注冊到fsm,對應:不同業(yè)務->[狀態(tài)]->[事件]->處理事件主體(包含handler、params、hooks、observers等)。

這就是easyfsm的由來。

當你開始進行狀態(tài)流轉時,只需要:

為什么需要區(qū)分業(yè)務?

因為絕大多數(shù)業(yè)務的狀態(tài)值都是從數(shù)據(jù)庫中獲取的,比如訂單表的訂單狀態(tài),商品表中的商品狀態(tài),有可能值是相同的。

同一個業(yè)務同一屬性對應狀態(tài)值表達單一,不同業(yè)務下屬性狀態(tài)可能會出現(xiàn)值相同,但所表達的含義是不同的。

整體設計:

簡單解釋一下:

  • 業(yè)務:比如有商品狀態(tài)業(yè)務、訂單狀態(tài)業(yè)務.....
  • 狀態(tài):訂單待付款、待發(fā)貨....
  • 事件:對應狀態(tài)僅可達事件集合。比如待付款狀態(tài)的可達事件僅有:支付事件和取消事件(取決于自己的業(yè)務)
  • 執(zhí)行事件主體:執(zhí)行自定義的事件函數(shù),如果有需要,還可以自定義執(zhí)行事件前后hook,事件訂閱者(比如支付事件發(fā)生后,異步通知用戶等)。

使用姿勢

首先自定義業(yè)務、狀態(tài)、事件。

自定義事件主體

注冊到easyfsm

開始使用

完整示例代碼如下

Hook

如果想在處理事件函數(shù)的前后執(zhí)行一些hook,或者在事件執(zhí)行完畢,異步執(zhí)行一些其他業(yè)務,easyfsm定義了這兩個接口。

我們可以實現(xiàn)這兩個接口

完整代碼

總結

上面簡單介紹了下easyfsm設計以及對應使用姿勢。

https://github.com/wuqinqiang/easyfsm

責任編輯:武曉燕 來源: RememberGo
相關推薦

2025-04-28 08:25:00

狀態(tài)機框架狀態(tài)機開發(fā)

2013-09-03 09:57:43

JavaScript有限狀態(tài)機

2021-04-29 09:31:05

前端開發(fā)技術

2021-09-07 06:40:26

狀態(tài)機識別地址

2014-05-21 11:09:56

前端有限狀態(tài)機

2025-06-04 01:55:00

2024-01-08 09:46:47

2023-04-12 07:14:31

Spring應用業(yè)務

2020-10-15 10:38:35

C語言狀態(tài)模型

2025-04-14 09:30:11

Spring狀態(tài)機訂單

2024-10-10 17:46:06

2011-06-24 16:09:24

Qt 動畫 狀態(tài)機

2023-03-06 07:35:30

狀態(tài)機工具訂單狀態(tài)

2020-12-02 13:33:58

函數(shù)指針編程語言

2021-12-28 08:24:18

函數(shù)指針有限狀態(tài)機編程

2021-07-08 09:15:20

單片機編程狀態(tài)機編程語言

2023-05-10 08:05:41

GoWeb應用

2010-06-18 12:38:38

UML狀態(tài)機視圖

2020-03-27 10:50:29

DSL 狀態(tài)機工具

2014-10-24 13:48:05

2014WOT深圳手游
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美a在线看 | 国产精品久久久久久久久久 | 色播久久久| 久久综合av | 久久久成人网 | 黄色网址在线播放 | 自拍视频精品 | 午夜视频在线观看网站 | 亚洲视频一区在线观看 | 国产欧美精品一区二区三区 | 国产精品色综合 | 精品国产一区二区国模嫣然 | 综合久久久久 | 欧美在线观看一区二区 | 国产精品久久久久久久7777 | 久久精品国产亚洲夜色av网站 | 国产精品明星裸体写真集 | 99精品免费久久久久久久久日本 | 色婷婷精品 | 999视频| 日韩在线免费视频 | 九九九久久国产免费 | 国产成人精品久久久 | 精品久久香蕉国产线看观看亚洲 | 一级黄色网页 | 亚洲一区 中文字幕 | 国产大学生情侣呻吟视频 | 欧美日韩国产一区二区 | 在线视频一区二区三区 | 一区日韩 | 国产欧美久久精品 | 日韩美女一区二区三区在线观看 | 久久国产成人 | 亚洲午夜电影 | 日本高清在线一区 | 久久涩涩 | 欧美精品在线观看 | 视频一区二区中文字幕 | a级免费视频 | 欧美一区二区三区精品 | h视频免费看 |