业务建模:辨析一个Order老问题
创建订单Order后,给订单添加明细OrderLine,有几个方案:
1、order.addOrderLine(orderLine)
2、order.addOrderLine(sku, quantity)
3、order.addOrderLine(product, productVariant, quantity)
4、order.addOrderLine(product, variants, quantity)
辨析模型上的几个不同方法,前端UI设计、后端模型设计有哪些的影响?
前端:
1、对应一个订单添加明细界面?
2、对应一个SKU选择界面?
3、对应一个产品及其规格选择界面(分步完成)?
4、对应一个产品及其规格组成选择界面(分步完成)?
后端:
订单行假设需要有效性检查,库存可用量检查,方法外还是方法内?
这些检查行为需与其他模块(如库存)进行交互,异步还是同步?使用领域事件?
感觉每个方法都有对应的业务含义,比如可能是录入一个明细行,也可能是产品、颜色、尺寸分别选择等,建模时,我们只选择其中的一个还是全部?