最近利用Asp.Net Core 的MiddleWare思想对公司的古老代码进行重构,在这里把我的设计思路分享出来,希望对大家处理复杂的流程业务能有所帮助. 背景 一个流程初始化接口,接口中根据传入的流程类型,需要做一些不同的工作. 1.有的工作是不管什么类型的流程都要做的(共有),有的工作是某一流程特有的. 2.各个处理任务基本不存在嵌套关系,所以代码基本是流水账式的. 3.流程的种类较多,代码中if或者switch判断占了很大的篇幅. 4.这些处理工作大致可分为三大类,前期准备工作(参数的校…