【问题标题】:Finite State Machine (FSM) for an abstract like Product用于像 Product 这样的抽象的有限状态机 (FSM)
【发布时间】:2015-05-16 12:42:37
【问题描述】:

我知道一个对象一次只能有一个有限状态。电话有几种不同的状态,如响铃、保持、通话等……闹钟有响铃、未响铃等状态……

我正在研究一个抽象类,例如 Product,它可以具有不同的状态,例如可售/不可售、应税/非应税、有形/无形 .当产品的任何这些状态发生变化时,都会触发系统中的一些行为。

我应该将泛型类的状态视为状态吗?一个产品可以保持不同的状态并且仍然可以被视为 FSM 吗?

【问题讨论】:

  • 这太宽泛了。 “产品”是什么意思?
  • 产品可以是任何类似在电子商务网站上销售的产品(cookies、笔、计算机)。所以,它很抽象,有一些常见的状态。

标签: fsm state-machine


【解决方案1】:

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

另一方面,如果您从特定功能的角度查看您的产品,您可能会使用其中的一个子集来表示该产品。因此,销售功能可能只考虑可销售状态。税务职能可能只是认为应纳税。

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

【讨论】:

    猜你喜欢
    • 2011-04-16
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    • 2014-02-08
    相关资源
    最近更新 更多