gpt4 book ai didi

design-patterns - 带内存的状态模式

转载 作者:行者123 更新时间:2023-12-04 07:08:27 25 4
gpt4 key购买 nike

我在正常状态机中使用状态模式。我希望能够从 [ A -> B ], [ B -> C ] 和 [ A -> C ]。
现在我们的域有了新规则,现在我需要 从 [C -> A] 还有,但只有 如果我以前从未去过 B .
所以我们有带内存的状态。有两种可能的解决方案:

  • 创建新状态 CB 意思是 C 后 B ,并有这些规则 [ A -> B ], [ B -> CB ], [ A -> C ], [ C -> A ]
  • 使用我们的 Context 有一个列表,其中包含以前的状态(我们称之为 StateHistoric)和进行转换的日期(状态历史也是我们客户的领域要求),然后使用这些规则 [ A -> B ], [ B -> C ], [ A -> C ], [ C -> A 如果 B 不是 在 Context.StateHistoric 中]。

  • 对于状态模式,这两种使用内存的方法中哪一种更正确? (或这两个的另一种选择)

    谢谢

    最佳答案

    去第二个解决方案。更容易理解,也更容易扩展。

    不要仅仅因为它的名字听起来像你喜欢做的事情就费心去坚持设计模式。

    关于design-patterns - 带内存的状态模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2055901/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com