张逸-聚合工作坊

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 张逸
2. 关于我 架构编码实践者 领域驱动设计布道师 大数据平台架构师 敏捷转型咨询师 @逸言
3. 聚合基础知识
4. 领域设计要素
5. 角色构造型
6. 领域服务
7. 聚合的生命周期
8. 什么是聚合
9. 区分OO聚合与DDD聚合
10. 聚合的关系
11. 识别聚合的过程 理顺对象图 第一步 分解关系薄弱处 第二步 调整聚合边界 第三步
12. 识别聚合的过程 p 针对领域分析模型,梳理模型对象之间的关系, 按依赖强弱分别为: • 继承 • 合成 • 聚合 • 依赖 • 无关系 p 确定领域模型对象是实体还是值对象 p 将具有继承或合成关系的领域模型对象放在一 个聚合边界内 p 根据聚合的本质梳理聚合 • 概念完整性 • 概念独立性 • 不变量Invariant • 事务一致性
13. 案例:项目管理上下文
14. 领域分析模型
15. 理顺对象图
16. 分解关系薄弱处
17. 调整聚合边界
18. 工作坊演练
19. 供应链:iChains iChains提供供应链的完整功能,能够智能地针对运输物料进行运费估算、包裹拆分与路径规划,以期通 过最小的成本提供高品质的供应链服务。
20. 供应链整体业务流程 拣货 Picklist 打包 Packing 运输 Shipping 打包 Packing 运输 Shipping 仓库A 订单 拣货 Picklist 仓库B
21. Shippment模型全景 Shipment Type PicklistSatus History PicklistItem 1 1 1 Shipment 1 PicklistBin Shipment Attribute Shipment ContactMech 1 1 Picklist 1 * Shipment 1 ContactMechType * Shipment RouteSegment ShipmentStatus * ShipmentItem Delivery Shipment Document 1 Shipment MethodType Carrier ShipmentMethod Shipment CostEstimate 1 ShipmentItem Feature ShipmentItem Billing * ItemIssuance 1 Shipment PackageContent * Shipment Package Shipment BoxType Shipment Receipt RejectReason ShipmentPackage RouteSegment
22. 业务规则 p 一个拣货列表Picklist用于挑选仓库中的货物,以便于打包运输。一个Picklist可以分配给 多个Bin(拣货容器)。确定好的Bin也可能需要合并(merge)或者调整(transfer)。每个 Bin的产品会分成多个不同的运输(Shipment)。一个PicklistBin包含多个PicklistItem。每 次拣货的状态变更都需要记录在PicklistStatusHistory。 p 一个运输(Shipment)会有多个运输项(ShipmentItem),每个ShipmentItem对应运输的物 料(Product),包括Product的数量。每次运输需要联系人信息(ContactMesh)。 p 每个运输项(ShipmentItem)有自己的多个账目信息(ShipmentItemBilling)和多个发行信息 (ItemIssuance)。运输项有自己的特性(ShipmentItemFeature),并会生成运输项的文档 (ShipmentDocument)。
23. 业务规则 p 一个Shipment包含多个包裹ShipmentPackage,每个包裹的内容 ShipmentPackageContent对应于运输项ShipmentItem。如果一个ShipmentPackage定义 了Receipt,说明该包裹已运输,状态从PURCH_SHIP_CREATED更新为 PURCH_SHIP_SHIPPED。 p 一个ShipmentItem有多个Issuance,而每个ItemIssuance与OrderItem存在一对一关联。 每个运输项(ShipmentItem)对应一个ShipmentPackageContent。因此在获得 ShipmentPackageContent时,需要合计Issuance的值。 p 运输需要成本估算ShippingCostEstimate。估算的费用取决于运输的方式、承运商、运 输的Quantity Break,包括重量、数量、价格等。 p 一次运输需要规划路线(Route),每一个路线规划都有一个运输方式。
24. Shippment ShipmentStatus Shipment Attribute Product Shipment ShipmentItem Shipment ContactMech ShipmentItem Billing Shipment ContactMechType ItemIssurance ShipmentItem Feature
25. Shippment Package Shipment BoxType OrderItem 1 1 ItemIssurance * 1 Shipment 1 * Shipment Package 1 * Shipment PackageContent 1 * RejectReason Shipment Receipt Product 1 1 ShipmentItem
26. Shippment Route Segment Shipment MethodType Delivery 1 * Shipment 1 * Shipment RouteSegment ShipmentPackage RouteSegment CarrierParty
27. Shippment Cost Estimate Carrier ShipmentMethod QuantityBreak Shipment CostEstimate from to Geo CarrierParty ProductStore
28. Packlist PicklistSatus History PicklistItem Shipment * * 1 1 PicklistBin * 1 Picklist
29. 通过以下方式与我交流 「逸言」 公众号 「TOP DDD」 知识星球

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-23 23:51
浙ICP备14020137号-1 $Map of visitor$