首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

COLA-statemachine在多级审核业务中的实践

在实际的项目开发中,开发者经常会遇见类似多级审核之类的开发需求,比如某个文件审核,需要经过申请->直系领导审核->总经理审核等多个步骤。如果是一次动作触发整个审核过程,开发者可能会想到使用责任链模式来进行开发。但如果多级审核的间隔时间长,审核触发的条件不一样,责任链模式会不太能够解耦这项需求。如果采用平铺直叙式开发,无疑会将审核状态转移过程散落在系统间各个位置,前后两个状态之间的关系没有直观进行维护,同时状态转移时的条件、执行的方式和状态之间的逻辑关系很容易让开发者写出“面条代码”。在项目开发初期可能还好,随着需求的增量变化,平铺直叙式开发将使得状态转移逻辑和业务逻辑高度混合,且每增加一级节点审核,就要新增对应的审核状态及状态转移的逻辑,长此以往变得难以阅读和维护。所以,在这种情况下使用状态机这样建模方式就显得尤为必要。

01

[设计模式]之一:简单工厂模式

最近思考了一下这两年的工作:做Android的时候一直看Android知识,做iOS的时候一直学iOS的东西。其实看起来感觉这样没什么问题,但仔细想想,我发现自己一直忽略了一大片知识点,那就是软件工程。不同的语言,不同的开发方向的确在代码上有千差万别,但是回到软件架构上来看,所有的编程思想都是相通的,比如说算法,再比如说设计模式。算法这点可能在移动开发中用得较少,但设计模式是必不可少的。我回想了一下,虽说写了不少代码,也考虑过一些关于模块代码结构的设计,但还是缺乏对这一块的系统了解。所以就找了一本众人推荐的书——《大话设计模式》来看。这本书写的的确好,通俗易懂,所以在这里我也推荐一下。这本书看了几个章节我就有一种受人点拨的感觉,明显感觉到如果我把这本书吃透,编码水平肯定能提高一个level。想到我的读书列表还有几本受到程序员追捧的大作要看,突然有种迫不及待就要一本一本读下去的感觉。不过读书可不是读一遍就完事的,关键就在于悟。进步也不能急,一点一点来吧。加油!

01
领券