试图找出汽车租赁领域的聚合根源

时间:2012-02-03 20:36:37

标签: domain-driven-design domain-model aggregateroot

我正在尝试使用汽车租赁网站的域名研究ddd的某些方面。

用户/客户从起始站和目的地站以及时间段中选择汽车。

价格计算取决于付款方式,时间,汽车分类等各种事项。数据从子系统中检索,该子系统的数据访问策略与应用程序的其余部分不同。

域内有几个演员,如电台服务,呼叫中心......

有界背景的想法是

  • 公司(员工,汽车,车站)
  • 预订(预订,预订申请流程的模型)
  • 定价(价格模型)
  • 结算(出租结算,职位,客户)

在定义有界上下文后,我不确定每个的聚合根是否正确。我的想法是

  • 公司:这三个人
  • 预订:预订(获取账单,汽车和客户)
  • 定价:关税矩阵
  • 结算:客户(访问预订,账单)

如果需要,我可以添加一些类图来显示不同的有界上下文。 如果需要更多信息,应将类图或此类迁移到其他部分,随时可以询问/执行。

1 个答案:

答案 0 :(得分:1)

由于我对汽车租赁领域的经验不足,我说你走在正确的轨道上。您应该注意的几件事:有界上下文是逻辑分离,而不是物理分离。因此,使用组合UI之类的东西,您可以在预订过程中显示定价信息。您将并排托管来自不同BC的UI组件,并使用它们引导最终用户完成他尝试完成的过程。另一件事是,你正在寻找所有BC中的聚合根,但我希望你意识到你并不需要在每一个中都有一个域模型。如果事情不是"核心"也许一个简单的数据模型就可以做到。对您的业务或基于本质的粗暴。这就是BC的美丽,即做出深思熟虑的技术选择的能力。