我们不能只写一些play()stop()pause()函数吗? 使用状态机执行此操作的优势是什么?
答案 0 :(得分:0)
在您的情况下,主要优势是每个状态确定哪些操作有效以及状态机如何对它们做出反应。
在一个非常简单的模型中,状态机将具有状态
这些状态中的每一个都定义了哪些操作有效。允许在状态播放中调用Play()是没有意义的。 允许Stop()处于 Not Playing 状态也没有意义。 状态机可以帮助您确定在哪种状态下哪些操作有效。
顺便说一句:每个程序都是一种状态机,但不是每个程序都是一个模型。通过创建模型,您的代码将自动变得更加结构化,可读性也会提高。