设计模式篇之 状态模式 State
目的
状态模式是一种行为型设计模式,它允许对象在其内部状态发生变化时改变其行为。就好像对象改变了它的类一样。
问题
状态模式与有限状态机的概念密切相关。

主要思想是,在任何给定时刻,程序可以处于有限数量的状态中。在任何独特状态下,程序的行为方式不同,并且程序可以在瞬间从一个状态切换到另一个状态。然而,根据当前状态,程序可能或不可能切换到某些其他状态。这些切换规则,称为转换,也是有限的,并且预先确定的。
你也可以将这种方法应用于对象。假设我们有一个`Document`类。文档可以处于三种状态之一:草稿、审核和已发布。文档的`publish`方法在每个状态下都有些不同:
- 在草稿状态下,它将文档移至审核。
- 在审核状态下,它使文档公开,但前提是当前用户是管理员。
- 在已发布状态下,它根本什么都不做。
-