领域驱动设计 - 实战2

继续上一篇的场景

场景5:多货一车
比如客户下了两个订单,一个订单是9吨水泥,另一个订单是8吨板材,都是从仓库A装货,送到仓库B卸货,假设我们用一辆20吨车一次搞定,对象图可以简单表示为:

订单1(9吨水泥,A->B),订单2(10吨板材,A->B)
——> 车次(20吨)

场景6:多货多车(分段)
比如客户下了两个订单,一个订单是9吨水泥,另一个订单是8吨板材,都是从仓库A装货,送到仓库B卸货,假设我们用一辆20吨车把或提回来暂落到C仓库,然后再用一辆30吨的车和其它的货一起运到D仓,最后再用一辆20吨的车送到B仓。对象图如下:

订单1(9吨水泥,A->B),订单2(10吨板材,A->B)
——> 车次1(20吨,A->C)
——> 车次2(30吨,C->D)
——> 车次3(20吨,D->B)

场景7:多货多车(分货)
比如客户下了两个订单,一个订单是9吨水泥,仓库A到仓库B,另一个订单是8吨板材,仓库A到仓库C,假设我们用一辆20吨车把或提回来暂落到D仓库,然后再用一辆10吨的车运9吨水泥送到仓库B,再用一辆10吨车运8吨板材到仓库C。对象图如下:

订单1(9吨水泥,A->B)
——>车次1(20吨,A->D)
——>车次2(10吨,9吨水泥,D->B)
订单2(10吨板材,A->C)
——>车次1(20吨,A->D)
——>车次3(10吨,8吨板材,D->C)

其实多个订单和1个订单本质上没有什么区别,只是货多货少的区别而已。

车次从本质上来说也是一个订单,它主要的信息就是要到哪里装哪些货,要把哪些货卸到哪里,如果不显示指明,那么它的货就是它关联的订单上的所有货物,如果需要显示指明,不管是哪个车次,它的货物都是从原始订单上选择。

对于一个车次经过的仓库,如果仓库需要预约,可以允许用户创建一个预约,如果仓库不需要预约,则也可以没有预约,不管有没有预约,从仓库的角度来看,可以知道今天有哪些车要来提货和送货。

进出场时间、装卸货记录、门检记录都应该记在一个车次的点上,假设车次的英文名叫TruckSchedule,车次的点叫TsPoint,就是这些信息都应该记在TsPoint上。车次在哪里装卸了哪些货物就记在TsCargo上,TsCargo必须和订单上的Cargo有关联,如果不分货,则数量和订单Cargo保持一致,否则根据实际情况记录实际的货物件数、重量或体积。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 9,055评论 0 13
  • 假设我们要设计一个系统,它能实现对一个订单的物流追踪,我们的领域模型应该是什么样的呢? 场景1:一辆车比如订单是9...
    心水阅读 267评论 0 2
  • 高级钳工应知鉴定题库(858题) ***单选题*** 1. 000003难易程度:较难知识范围:相关4 01答案:...
    开源时代阅读 5,946评论 1 9
  • 3.0践行第六周周检视 一、90天践行目标: 1.运动跑步.早上跑步两公里--这周运动了两天天; 2.本周阅读:断...
    A国源陈自强阅读 95评论 0 0
  • 1. 今天我很丰盛。不缅怀过去,不畏惧将来。每个当下都将会组成过去。所以活好每个当下。为将来奠基。 2. 今天我很...
    daodaobai阅读 93评论 0 0