程序代碼中,怎么區分status和state?


State 表達的是形態,而 Status 表達的是從一種形態轉換成另一種形態的過程中,那些有顯著特征的離散中間值。

還是說那個旅館房間的例子,一個房間可以是婚房、普通房、豪華總統房,這些都是用 State 來表達。把一個普通房改造成豪華總統房,這個過程就有設計、材料准備、工人就位、施工、驗收等步驟,這個時候就用 Status 來表達。

那么,區分點在哪?區分點就在於一個房間當用State 描述時,它是個彼此獨立的枚舉值,可以沒有前后順序的在婚房、普通房、豪華總統房之間來回轉換。而當使用 Status 時,是存在前后狀態依賴關系的一個變化量,不能沒有做設計就施工,也不能沒施工就驗收。

 

所以,State 和 Status 的核心區別,就是它們的枚舉值之間是否有依賴關系,沒有依賴關系的用 State,有依賴關系的用 Status。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM