有限状态机(FSM)用于抽象产品

时间:2015-05-16 12:42:37

标签: fsm state-machine

我知道一个对象一次只能有一个有限状态。电话有几个不同的状态,如振铃,保持,说话等......闹钟有振铃,没有响铃等状态......

我正在查看像产品这样的抽象类,它可以具有不同的状态,例如可销售/不可销售,应税/非应税,有形/有形。当产品的任何状态发生变化时,它会触发系统中的某些行为。

我是否应该将通用类的状态视为状态?产品可以保持不同的状态,仍然可以被视为FSM吗?

1 个答案:

答案 0 :(得分:1)

我相信这里没有正确答案。但我会说这取决于。如果您想将整个产品视为单个FSM,那么您的状态将是所有属性的总和。如可销售,应税,有形,......有一点,它可能是可销售的,应税的和有形的。如果有形物变得无形,那么它将是可销售的,应税的和无形的。

另一方面,如果您从特定功能的角度查看产品,则可以使用其中的一部分来表示产品。因此,销售职能可能只考虑可销售状态。税收职能可能只考虑纳税。

无论如何,就像我说的,我认为取决于。关于FSM的使用案例以及您想要完成的任何事情。最后,它只是一些术语,除非您需要FSM用于特殊的东西..