董卓 (@PikachuGits) 在 关于框架设计开发时, 观察者模式是否应该参与进入到事务中呢 中发帖
最近开发钻了牛角尖, 使用 观察者模式 时, 当数据库模型触发观察者, 后执行的一系列操作,属于后事务阶段, 也就是 create 事务提交后,才会触发观察者, 而观察者无论对错都不会影响到触发时已经提交的数据.
那问题来了, 我需要观察者的目的是什么, 当然是希望在操作数据库的时候,作为一个钩子帮我处理关联的数据.
比如我录入了一个增补合同, 合同的总金额应该是累加的;我删除一个增补合同,合同的总金额要减掉. 现在观察者不参与到事务中, 就代表我创建了增补, 但是合同总额不一定会增加.
然后我陷入了内耗, 观察者如果不保证关联数据的操作成功, 那他到底有什么用呢