领域既可以表示整个业务系统,也可以表示其中的某个核心域或支撑子域。
我们可能会为整个业务系统创建一个单一的、内聚的、全功能式的模型;实际在DDD中,一个领域被分为若干个子域,领域模型在限界上下文中完成开发。
一个领域模型,通常只关注这个业务系统的某个方面。
领域模型不能包含整个业务系统,我们就应该合理的划分领域模型。
举例:
零售商在线销售产品
零售商向买家展示不同类别的产品,让买家下单,付款,还能安排物流。
在这个零售商在线销售产品的领域中,可以分为四个主要的子域:产品目录,订单,发票,物流。
如果我们再添加一个库存系统,就会变得很复杂。
可以将此零售商在线销售产品分为三个物理系统:电子商务系统,库存系统,外部预测系统。
电子商务系统中的隐形领域模型可能没有被很好的分离出来。
在正确实施DDD的时候,子域不一定要做的很大,简单到只包含一套重要的算法也行。这种简单的子域可以以模型的形式从核心域中分离出来,而不需要包含在笨重的子系统中。
网友评论