领域模型,module,boundedContext关系是什么
[该贴被axlfu于2013-07-04 17:14修改过]
比如ddd那本书里经常举例的货物运输预订系统。在最初分析的时候,
我是应该把Shipping和Billing
1.作为一个BoundedContext中领域模型的两个module呢?还是
2.作为两个BoundedContext?
尤其时系统比较大的时候,怎么下刀对于新手还是有点迷惑
例子可能不太合适,因为这两个交集不太明显。
对于有交集的,咱先不说可以用SharedKernel,
就是先确定是按module划分还是bc划分呢?
2013-07-04 21:47 "@axlfu
"的内容
"的内容
就是先确定是按module划分还是bc划分呢 ...
我之前说了先BC,BC等同于module,见这个讨论:
http://www.jdon.com/44604/10#23140517
如下图,每个BC是一个module,
或者可参考:
http://www.slideshare.net/jeppec/what-soa-eda-and-cqrs-version
埃文斯其实是把billing和shipping都放在统一领域模型,它们是属于一个boundedContext的。
而和另一个线路计算模型(就是用图来计算的那个系统)是分属两个不同的BC,中间有个转换器
所以我们的分歧点在于:
我认为BC是和领域模型等同的,领域模型里可以有多个业务(shipping,billing),或者有多个module(当然也可以只有一个)
而您是认为一个BC对应一个module,(一个领域模型有多个bc?重点分歧可能在这儿),因为给的图看,相当于一个业务模块是一个BC/module