如何写复杂业务代码,简化if else

方法:过程分解 + 对象模型

过程分解:通过分解,将过程分阶段,各阶段分步骤


image.png

对象模型:过程分解,缺少业务表达能力,无法复用业务流程,所以需要模型,自下而上,把多个模型共同点抽离出来成为一个共通模型


image.png

实践:代码分离 + 多态

如何自上而下分离出步骤,如何自下而上抽离出模型,答案是:多维思考,矩阵分析。
以商品上架为例,横轴将步骤罗列,归类后,分为创建商品,上架商品,上架审核通过,上架审核拒绝这几个阶段。(其为步骤分离)。纵轴为各个model。然后在每个model中的各个阶段填充步骤。


image.png

通过上面的矩阵分析,我们不难看出普通品和组合品可以复用同一套流程编排代码,可抽象出同一个model(其为对象模型)。而赠品和出清品的业务相对简单,更适合有一套独立的编排代码,这样的代码结构会更容易理解。

通用矩阵:


image.png

代码实操

过程分解,代码实操就是代码分离

对象模型,代码实操就是多态

参考:
如何写复杂业务代码?

面对复杂业务,if-else coder 如何升级?

你可能感兴趣的:(如何写复杂业务代码,简化if else)