DDD的不变性

09-01-18 jeffrey4chartcrm
                   

我最近在看ddd的译本,读到ddd的不变性的时候有点不理解。到底什么是ddd的不变性?往各位解答,谢谢!

[该贴被admin于2009-04-16 09:15修改过]

[该贴被admin于2009-04-16 12:22修改过]

                   

yellowcat
2009-04-09 19:13

不变性就是逻辑规则(在某一模块范围内),每次更新都要验证这个规则

banq
2009-04-16 09:19

不变性其实从事务原子角度考虑,如果有多个用户同时修改一个对象,你必须锁住这个数据,但是带来性能差异。

很多人觉得数据库事务ACID很难处理,处理得不好,不是业务数据不一致,就是性能很差。

DDD认为这个根子其实就是不变性问题,如果一开始建模,使用聚合将以一个实体为主一系列对象封装起来,让他们同生同死,这样就检查共享修改的可能性,这其实就是整体和部分的关系,整体由部分组成,部分和整体生命周期一致,这是不变性。

所以,OO设计能够平衡事务和性能。