关于库存查询与领域建模

10-09-08 cleanearth
本人正在做库存管理,在看了大量设计模式,ddd,企业设计模式相关资料,并基本参考了dddsample后,

使用spring mvc+spring+hibernate,对库存管理系统进行了初步的领域建模(可能由于理角不深,模型还有问题,但基本思想是ddd的)并实现了数据输入和简单的查询功能,

现在要实现一个当前库存查询功能,即查询所有物料分批号分有效的当前的库存量,

按照传统的面向数据库的方式,可以考虑存储过程或者在程序中写复杂的sql语句来实现,

参看了hibernate的native sql,hsql sql,criteriar的相关文档,也都可以实现复杂的查询并返回相应的对象集,

但是思前想后,这好像偏离了面向对象、ddd,

请教,这样的功能,利用ddd的概念,一般采用怎么样的设计?

best regards

    

banq
2010-09-08 09:50
目前有一个折中方式采取CQRS,也就是模型的查询和修改分离,复杂的查询还是使用数据表实现。

当然,现在NoSQL出现以后,这种查询最好不要依赖关系数据库,否则将来拓展麻烦。

cleanearth
2010-09-08 10:35
banq能推荐一下CQRS方面的资料吗?

目前是参考ddd的设计,

把这个查询的接口放在领域层里面的service里,

然后具体实现在放在infrastructure里,到时如果要替换数据库或用nosql,

应该可以通过替换实现来达到拓展

cleanearth
2010-09-08 11:15
刚在本坛内搜了一下,

你提到,如果用了hibernate,就很难实现cqrs了

看了我目前只能用复杂sql语名来实现了

猜你喜欢