在 Web 开发中,以最小化(或消除)状态为目标,大量关注 REST 风格的架构。我见过的web框架都强调这种风格(Django、Rails、flask等)。
虽然我同意这总体上非常适合网络,但也有很多情况下这是不够的。特别是我正在考虑您希望用户遵循流程的情况,即您想要提供许多步骤并且这些步骤应该按特定顺序完成(可能带有可选步骤、偏离路径等)
一个很好的例子可能是购物车:首先你必须做出选择,然后输入你的地址,选择发货类型,输入你的付款细节,完成。您不希望用户跳过任何这些步骤,并且该过程可能会变得更加复杂。理想情况下,我希望在单独的位置定义此过程,以将此逻辑与实现的其余部分分开。
现在我的问题:
有限状态机是通往这里的路吗?如果这些过程变得复杂并且需要进行大量更改(例如,这一步应该在这里,这一步应该进入这个过程等等),它们是否仍然可以很好地工作?
Web 框架提供了哪些选项(不是我对最佳解决方案特别感兴趣)?
什么是此类过程发生的有趣/好的例子?购物车是一个明显的例子,但我相信还有更多。