怎么确定使用module还是boundedContext

设计阶段,大家是怎么确定该使用module还是BoundedContext?

领域模型,module,boundedContext关系是什么
[该贴被axlfu于2013-07-04 17:14修改过]

首先确定boundedContext,也就是上下文分界,每个boundedContext可以认为是一个module,每个boundedContext有一个聚合根,聚合根是实体模型,而实体是一种领域模型。

呃。。。一个boundedContext不一定只有一个聚合根把,限定上下文只是表明领域模型在这个上下文中保证一致性,但可以有多个聚合根的。

比如ddd那本书里经常举例的货物运输预订系统。在最初分析的时候,
我是应该把Shipping和Billing
1.作为一个BoundedContext中领域模型的两个module呢?还是
2.作为两个BoundedContext?
尤其时系统比较大的时候,怎么下刀对于新手还是有点迷惑

例子可能不太合适,因为这两个交集不太明显。
对于有交集的,咱先不说可以用SharedKernel,
就是先确定是按module划分还是bc划分呢?

banq,我的意思是,你看在ddd的那本书里的货物运输预订系统例子。
埃文斯其实是把billing和shipping都放在统一领域模型,它们是属于一个boundedContext的。
而和另一个线路计算模型(就是用图来计算的那个系统)是分属两个不同的BC,中间有个转换器
所以我们的分歧点在于:
我认为BC是和领域模型等同的,领域模型里可以有多个业务(shipping,billing),或者有多个module(当然也可以只有一个)
而您是认为一个BC对应一个module,(一个领域模型有多个bc?重点分歧可能在这儿),因为给的图看,相当于一个业务模块是一个BC/module