Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
人工智能
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
更多话题
关于库存查询与领域建模
10-09-08
cleanearth
本人正在做库存管理,在看了大量
设计模式
,ddd,企业设计模式相关资料,并基本参考了
DDD
sample后,
使用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语名来实现了
CQRS命令查询分离架构
数据工程
大数据量
Specification模式