DDD问题
(本人初涉DDD,问题特小白,请大家拍砖.)
product.getCategorys不是就可以吗?
道如是说:软件依赖于常理...
DDD有两种方式:第一种通过聚合根获得,第二种直接通过Repository查询获得。
Category列表通过后者实现,而输入product表单时通过聚合根获得。
实际就是查询和命令分开模式:CQRS 使用CQRS重新考虑架构
Category cb = new Category();
cb.name = "奶油巧克力";
c.addChild(cb);
Product p = new Product();
p.name="DOVE";
p.price = 11.11
p.category = cb;
供应商应该是别的对象吧。
不能把他们混为一谈吧。
当然,跟他们会有某种关系。
按照他们的特点找出那种关系。
但是,我觉得这应该不太难
你觉得呢?
楼主描述的功能,根本够不成业务行为,这是UI和presentation做的事,直接返回DTO了事,我个人以为连repository都不需要走的。如你的这个问题,我直接走app service返回所有的product和Category(如果数据不常变,app service缓存之),剩下的事由展现端搞,不知Banq意下如何?
我的认知是,如果一个功能不能用一句业务化的命令定义,则这个功能根本与domain无关。这可能是cqs给我最深刻的体会。
[该贴被FredWang于2010-06-10 22:42修改过]
引自CQRS à la Greg Young,我觉得写的很精彩