图片描述

背景

如图所示, 冯诺依曼计算机体系结构;
由于最近做业务需求做到发瘟, 借此发散一下思维;

最近业务需求的痛点如下:

  • 基础代码骨架已固定, 业务流程固定,
  • 然而, 业务中产品的配置需要非常灵活, 并且有可能需要跨过某段业务流程, 直接执行下一段;

直接方案:

if/else当然是能够决定条件分支的, 但架不住产品数量巨大, 维护if/else都会变成一种可怕的工作量; 并且由于if/else分支居多, 新同学进来需要维护都要看几天代码...

随想方案:

思考后得出一种较为灵活的方法: 自定义Java-ClassLoader, 将Class文件进行外部存储(may be mysql etc.), 需要时再进行动态编译并进行业务流转;
这种方式在我以前接触过的业务系统中有见到过, 虽然当时只实现了非常基础的功能, 不过还是解决了挺大一部分工作量;

当然, 目前还只是留个念想, 方案落地不是能够一人推动的, 需要整个项目组为之努力一段长时间


宵夜
7 声望4 粉丝