我是靠谱客的博主 结实大树,最近开发中收集的这篇文章主要介绍最佳实践 状态设计1. 不要状态回溯2. 状态机多个状态进入到一个状态从接口的前置状态校验 到 状态模式的方法是否能执行 再 状态机的事件校验 ,状态机,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 不要状态回溯

  一旦出现状态回环就进入关闭状态. 新建一个实体. 获取实体列表里不出现这个.

2. 状态机多个状态进入到一个状态

  例子: 取消状态.

  背景:

  订单状态: 新建 - 开始计费 - 结束行程 - 已完成(支付成功)每个状态都可以进入取消状态.

  解决方案:  设置一个取消状态.

  新需求, 产品需求:

     1. 客服:查看取消的渠道,原因.  2. 乘客端: 开始计费后取消后无法查看相关距离,金额.

  新的解决方案:

  1. 多个状态法

    1. 新建后的取消 2.有费用后的取消 取分别的名字. 这个会导致状态太多.

      2.增加字段:

    增加 preStatus 分别记录当前字段. 增加关闭来源: 客服,乘客,超时.

 

   事件相等,那么他们的to状态必须一致. 由于FSM不进行 当前状态校验, 只校验事件是否合法. 如果这个条件不满足,容易出现并发问题.

B---D 

A--C

这两个事件都是actionA的话就会有问题.

我的另外一篇文章. 

从接口的前置状态校验 到 状态模式的方法是否能执行 再 状态机的事件校验 ,状态机

https://blog.csdn.net/fei33423/article/details/80759352

   

 

 

  

 

转载于:https://www.cnblogs.com/fei33423/p/8150057.html

最后

以上就是结实大树为你收集整理的最佳实践 状态设计1. 不要状态回溯2. 状态机多个状态进入到一个状态从接口的前置状态校验 到 状态模式的方法是否能执行 再 状态机的事件校验 ,状态机的全部内容,希望文章能够帮你解决最佳实践 状态设计1. 不要状态回溯2. 状态机多个状态进入到一个状态从接口的前置状态校验 到 状态模式的方法是否能执行 再 状态机的事件校验 ,状态机所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部