編程的時候經常會需要定義某某狀態,比如訂單狀態、事件的處理狀態、
腦殼里邊的對於狀態的單詞有 status 和 state
最直接的解釋
status : 用來描述操作的結果,比如: 成功/失敗
state: 用來描述過程的某個階段,比如 進行中/ 已發送; 處理完成后 “進行中” 就變成 “已發送” 了
也就是說, status 描述的狀態處理結果,是終態,這個狀態之間不會再從 狀態A 變成 狀態B
而 state 所標示的“狀態”則具有階段性,可以從狀態A變為狀態B; 就如我們常遇到的訂單狀態
這幾個狀態隨着訂單的處理過程向前推進,不同狀態之間是可以根據業務的發生相互變化的;則適合用 state, 代碼或數據庫中應該命名為 OrderState