域模型驱动开发的几点困惑

09-12-18 kevinyao
    

准备下一个项目采用域模型驱动开发, 但是有几点困惑, 请各位道友谈谈自己的见解。

1. 采用Domain Events机制的时机

版主在http://www.jdon.com/jivejdon/thread/37712 中讨论了一种Case。采用Domain Events的异步处理,开启一个新的线程,getMessageCount在另外一个Transaction中查询数据,作为简单的查询业务可以这么处理。

但是,针对多个域模型的增删改处理,Domaint Events(异步)是否适用呢? 特别是在批处理修改数据的情况下。

我认为,Domaint Events(异步)仅仅适用于实时性低,不处于增删改的Transaction内的业务。

2.数据统计报表

目前成熟的持久存储方案还是关系型数据库。现在还饶不过去,呵呵。

我想统计报表的处理有2种方案。

(1)写存储过程

我认为最大的缺点是,域模型和存储过程的业务逻辑可能有部分重复。

(2)载入内存,实例化域模型

如果将成千上万的数据映射成领域模型的话,显然会增加内存负担。

大家有什么好的方案呢?

[该贴被kevinyao于2009-12-18 16:18修改过]

    

banq
2009-12-18 16:41

2009年12月18日 16:18 "kevinyao"的内容

我认为,Domaint Events(异步)仅仅适用于实时性低,不处于增删改的Transaction内的业务。

异步用不好,就是实时性低,但是采取并发策略可以提高实时性啊,

参考这篇文章:并发策略可以解决

关于报表,报表看待数据的方式和DDD是不一样的,特别是数据挖掘方面的报表,所以,直接让报表操作数据,参考这info的这段:

Greg Young Discusses State Transitions in Domain-Driven Design and DDD Best Practices

[该贴被banq于2009-12-18 16:55修改过]