前提:
一个开发需求,发起一个项目,此项目会经过四个步骤后结束。 当前业务方要求,因特殊情况可以省略某些步骤直接通过结束。
开发的解决方案 1: 在对应发起流程时,加入一个可供选择的跳过步骤, 才发起任务,使用接口实现。
业务的解决方案 2: 正常发起流程,直接在数据库插入或者修改成最终结束结果。
请问: 业务的解决方案是否有什么特殊的好处或者?? 请表达你的观点,我真不明白,望指正,谢谢。
1
whypool 2020-05-08 17:44:11 +08:00
直接改数据库也没啥毛病
|
2
pushback 2020-05-08 17:46:36 +08:00
多步骤建议给内部留接口,如果只是单步骤可以直接上手
|
3
AngryMagikarp 2020-05-08 17:48:07 +08:00
再灵活也应该有边界,不然就容易出乱子。
|
4
visonme 2020-05-08 17:49:30 +08:00
既然要灵活性:
1. 保持原有的设计,将该项目的几个步骤作为动态配置项,流程怎么走由也业务方自己配置 2. 特殊需求情况下,可以再发起项目时候给出一个两个选项:按配置的业务方自己配置的业务流程走或者直接跳过所有步骤(大概就是你所提到的直接数据库操作了吧) |
5
james122333 2020-05-08 21:30:41 +08:00
好处就是你不用做那么多 (滑稽)
难以回答的问题 取决于现有架构以及业务流程 |
6
coolmenu 2020-05-08 21:52:10 +08:00
直接操作数据库的坏处是 1 没有操作日志,监控不太方便,你得写点 procedure 封装一下操作,记录日志便于审查问题
2 等业务复杂了,这块迟早是个问题。算是业务漏洞。 |
7
DelayNoMay 2020-05-09 03:00:27 +08:00
navicat 直接操作数据库?
|
8
IssacTomatoTan OP @whypool @pushback @AngryMagikarp @james122333
其实主要还是在于想了解背后的动机的 @visonme @coolmenu 估计是业务方是想要规避一切可能的记录? 或者是对这个操作的权限完全收紧,只能当突发事故响应处理。 @DelayNoMay 据我所知,估计就是 mongo db.xxx.updateOne |
9
pmispig 2020-05-09 10:46:42 +08:00
程序员说,这个功能在界面做不出来,所以直接执行 SQL
|
10
stevenkang 2020-05-09 11:01:18 +08:00
两套流程,一套标准流程做项目的 4 个步骤流程。另外一套流程做成可自定义的,这样以后无论是发起一个项目,还是其他啥流程,只要不符合标准流程的,都走自定义流程。
|
11
james122333 2020-05-09 11:52:09 +08:00
|
12
IssacTomatoTan OP @stevenkang @james122333 好的谢谢 这些动机的事情我在研究研究
|
13
jake361 2020-05-09 17:09:11 +08:00
边界很重要,所以做个操作后台界面吧
|