方法:过程分解 + 对象模型
过程分解:通过分解,将过程分阶段,各阶段分步骤
对象模型:过程分解,缺少业务表达能力,无法复用业务流程,所以需要模型,自下而上,把多个模型共同点抽离出来成为一个共通模型
实践:代码分离 + 多态
如何自上而下分离出步骤,如何自下而上抽离出模型,答案是:多维思考,矩阵分析。
以商品上架为例,横轴将步骤罗列,归类后,分为创建商品,上架商品,上架审核通过,上架审核拒绝这几个阶段。(其为步骤分离)。纵轴为各个model。然后在每个model中的各个阶段填充步骤。
通过上面的矩阵分析,我们不难看出普通品和组合品可以复用同一套流程编排代码,可抽象出同一个model(其为对象模型)。而赠品和出清品的业务相对简单,更适合有一套独立的编排代码,这样的代码结构会更容易理解。
通用矩阵:
代码实操
过程分解,代码实操就是代码分离
对象模型,代码实操就是多态
参考:
如何写复杂业务代码?