背景
当前系统从其他业务系统的获取业务数据,再结合模板来生成票据。生成过程包含模板匹配、票据构建、票据校验、票据保存。同时需要支持三种生成方式,即定时任务自动生成、批量生成、单个生成。 对于不同业务类型数据,生成票据过程存在细微差异(获取业务数据、单据校验等)。
对于不同生成方式,生成票据过程存在细微差异(模板校验、单据校验等)。
设计
从两个维度设计代码结构:1. 纵向采用模板模式,定义好生成票据的全流程框架,并给定默认实现方式。针对不同业务类型的数据,可自定义模板中的步骤,做个性化处理。
2. 横向采用责任链模式,每个生成方式,可以对每个流程节点注入handler,实现个性化处理。
3. 如此一来,后续若接入新的业务类型数据、新的生产方式,只需在原有基础上增加新的实现即可。符合开闭原则。
标签:业务,校验,模式,生成,责任,票据,模板
From: https://www.cnblogs.com/czemxv/p/18519118