看过《领域驱动设计》一书后的疑惑

08-03-05 dd_macle
         

这些天看了一遍《领域驱动设计》,有个地方不太明白,书中非常强调随着对应用需求的深入理解以及为适应需求变化,需要不断重构领域模型,领域模型是不断在完善了,但数据持久化方面呢?或者更直接的说,数据库的结构方面呢,是需要随着领域模型的变动而随之变动,还是基本不动,只是变动O/M部分,这样一来,是不是会造成领域层与数据层之间的不一致,这个不一致对于软件的维护会不会带来影响?

这是我看此书后最疑惑的地方,请各位大大帮忙释疑

         

goddie
2008-03-05 19:20

数据这层你根本不用管,交给ORM去做。要改动也是改改配置文件,没有什么大动作。

dd_macle
2008-03-05 23:19

似乎没那么简单吧,我觉个例子说明一下可能会更容易理解些。

比如:原来根据领域模型A、B类通过ORM工具自动生成了表TA、TB,现在领域模型有了变化,变成三个类C、D、E,这个C、D、E类与表TA、TB之间的关系就不那么协调一致了。

我想问的是,当遇到这样情况时,该怎么做?我想不会是简单改下Hibernate的配置文件就能实现的吧

dd_macle
2008-03-06 13:56

自己顶一下,希望能得到大家更多的意见

goddie
2008-03-06 15:06

这有何难,以前的TA TB是系统自动生成的。你现在没有了A,B当然要手工把TA ,TB删除了。ORM会根据你的C,D,E自动生成TC TD TE。就是说你不要去想手工建表,手工维护表关系。都丢给ORM去做。A,B改变到C,D,E那么以前的A.hbm.xml B.hbm.xml自然要删除,写C.hbm.xml D.hbm.xml E.hbm.xml,系统在初始时会扫描你的hbm.xml文件来生成新的表。都不关你事,你只要写好hbm.xml配置文件。

[该贴被goddie于2008-03-06 15:08修改过]

4Go 1 2 3 4 下一页