1
thinkershare 2023-04-02 13:34:16 +08:00
典型的没事找事干,如果系统没法大改,干脆全部用事务脚本算了,反正想都能想的到,你们的系统这种场景肯定都没考虑过事务一致性。使用 DDD 纯粹是浪费脑力,要不进行大改(前端如果不想不改,就添加中间层屏蔽差异). 看你说这种场景,一看系统就不是什么特别重要的,就这样吧。不要尝试去重构已经堆起来的大泥球,如果有什么额外升职加薪另说。
|
2
xuanbg 2023-04-02 20:12:04 +08:00
为什么要对比变化?为了写更新日志么?
|
3
dingyaguang117 2023-04-02 23:27:05 +08:00 via iPad
哈哈 类似的场景,我们现在的做法是先 toMap ,然后 diff
至于校验,我们做了一套基于 jsonschema 的配置化校验平台,还支持自定义校验函数。 数据上来新老分别过校验平台,再对比校验结果看是否引入新错误(因为老数据也不一定对,哈哈)。 总之很麻烦哈哈 |
4
lyusantu 2023-04-03 09:09:27 +08:00 1
返璞归真 if else
|
5
yidinghe 2023-04-03 11:05:08 +08:00
应对表单过于庞大的方法有两种:
1 、拆分表单,每个部分单独提交; 2 、用户每修改一个字段,实时提交该字段。 |
6
rm0gang0rf 2023-04-03 11:59:04 +08:00
屎山初始化了。。。
|
7
japeth 2023-04-03 14:29:32 +08:00
这类场景应该新增一个接口,让前端传过来更新日志的字段前后值
|
8
Ashore 2023-04-03 15:07:31 +08:00
@rm0gang0rf 哈哈哈 确实 这就是屎山的开始
|
9
yule111222 2023-04-03 15:37:43 +08:00
走远了。。。虽然不明白你们的场景,但是并不是所有的行为都需要把所有的字段都传递到领域层的。
正确的做法是定义瞬态领域对象,比如针对某个领域服务的行为定义一个 XXXXDomainRequest 对象,这个对象是这个行为的输入,跟实体是不一样的。然后查询当前实体处于什么状态,能否针对这个输入完成当前行为做校验即可 |