![]() |
1
3
我想在你的代码里,
如果是这样的话,你可以考虑的一件事就是让美国回归
过渡对象
抽象地表示状态图中的控制点。然后让上下文运行一个循环,该循环执行状态,检索结果转换,并将转换映射到任何进程的适当下一个状态。可以为每个对象设置不同的过渡贴图
欺骗:
编辑 :样本代码在 http://pastebin.com/eBauP060 . |
![]() |
2
3
您可能希望使用一种或多种技术的组合来减少重复。例如:
最后一个音符。别在这件事上得意忘形。 记得。有时代码中的相似性表示应该消除重复。 然后,在设计过程中,当这些概念开始分化时,由于不相关事物的强耦合,很难改变代码。 一般来说,这是设计师的要求。您需要查看您的特定需求和约束,并选择正确的技术。这就是为什么这种状态机设计模式(以及其他许多模式)是一种设计模式,而不是库类。 |
![]() |
3
1
正如tomekszpakowicz所指出的,如果在状态之间有不同的转换,那么就有不同的状态机。你提到的每一个“进程”在我看来都像是一个不同的状态机。
如果您指定状态之外的转换,那么状态本身可以从一台机器重用到另一台机器;您只需要为每个状态指定不同的转换。您可能会发现您必须动态地构建状态机——也就是说,在编译时,您有一系列可供机器使用的状态和转换。在机器的构建例程中,可以通过创建状态和转换的实例将所有这些连接在一起(这一切都有点难,我想 |
![]() |
4
0
此代码段未编译。
此外,如果保持相同的状态数,就可以得到一个通用状态机。 |
![]() |
Vedant · 如何解决python啦啦队长问题?[已关闭] 2 年前 |
![]() |
cobby · 在战略模式中使用工厂模式? 2 年前 |
![]() |
Nobody · Java中带while循环的三角形模式 2 年前 |
![]() |
Eduard Stefanescu · 如何在层之间传输异常? 6 年前 |
![]() |
D. Schreier Talha Noyon · 对于目录中的每个类 6 年前 |
![]() |
Tanvi Jaywant · 如何重载类 6 年前 |