1.增加数据库没有的字段为什么会困难?

Java代码通常分为 Web 层,Service 层和 DAO 层。数据库在增加一列之后:
a. DAO 层,Service 层和 WEB 层的代码都需要修改。代码之间可能还会存在相互调用的情况,需要把所有用到同一个数据源,DAO,Service,Web Controller 以及前端代码做调整
b. 使用本系统的外部系统也需要调整。Service 和 Web 层出参修改之后,调用到我们系统服务的系统也需要做出相应调整。

第一点虽然比较麻烦,如果只是单业务系统,改就是了,花点时间也能搞定。第二点比较难处理,首先使用我们系统的人,得推动他们做调整,不一定愿意。其次如果系统开发程度比较高,调用的人多了,我们甚至自己都不知道到底有多少人,多少个系统在调用这个服务。

image.png

Java代码分层结构:
https://www.yuque.com/yijieshushixihuixuexiao7yuezhengshiruzhi/rmaa4k/iq60iz

2.流程引擎的分类和实现

析辨:网上资料,工作流(workflow),流程引擎,工作流引擎说的往往是同一个东西
工作流的意义:
工作流可以追溯到 Henry Gantt,也是负责甘特图的人。原始诉求,需要知道

  • 确切的工作要做
  • 谁负责什么
  • 每个任务花费的时间

常见的实现方式是状态机
image.png

相关资料:
Salesforce系列小扯座: https://yuque.antfin-inc.com/wenrui.mwr/lhgsy9/welcome-to-lark
数据字典的主要作用是什么?:https://blog.csdn.net/u012881904/article/details/51469366