基於state transition的係統和event object係統的比較
文章來源: 江毅2020-06-08 20:44:06

經驗裏,遇到過狀態機程序係統和event Object程序係統。

近來想了一下二者的比較。

狀態機係統,以qt為典型。event object係統,以C++/javascript為典型。

現實世界是事物和相互關係的集合。描述這個集合用event-object係統是一種直接的方式。狀態機係統是另一種等價表達。

1)一個係統,用EO表達,直接描述事物和事物間的關係就可以了。簡潔、好開發好維護。

2)而用狀態機表達,狀態要用很多才能準確表達;一般從開發維護的可行性出發,會自然簡化狀態機,使用比理論上少得多的狀態集合。簡化狀態機的方法之一,是使用全局變量表明各種全局狀態。這使得對描述對象的理解和程序開發維護很困難。