你的观点我基本上认同, "事务不是必须" 这个不太认同, 现在的system都有一定的复杂度,多多少少的会涉及到多个domain的operation 从而产生事务的刚性需求, 我们只能是尽量的缩小其范围,根据bus ...
实现逻辑表达的原子性,现在来说,主要有两种方式,一种是事务,一种是不变模式。
事务正是我们在可变模式中,对变化过程原子化的手段。而不变模式却可以离开事务达到原子,因为根本不存在变化过程,而替换天生就是原子的(事务也用到替换,其主要区别在于事务是站于可变模式中,所以它需要复制副本的手段达到隔离变化,而不变模式不需要这样的复制隔离,也没必要隔离,其犹如骨牌效应,自然而然地进行着,不变量的函数式编程就具有这样的特点)。
理解不变模式,可以发现很多地方,事务其实是一个技术性的包袱,是它入侵到逻辑当中。
从生到死,就是从“生”到“死”。而不是考虑“生”里的各个字段如何变成“死”里的,状态迁移,就是打破过程化思想的一种方式。