开发者社区> 问答> 正文

为什么要区别 save 和 create 呢?

为什么要区别 save 和 create 呢?

展开
收起
岩茶芋泥 2022-04-19 10:53:39 618 0
来自:阿里技术
1 条回答
写回答
取消 提交回答
  • save 是领域驱动设计中最正确的做法:我的聚合或者实体有变动,仓储不用关心是新建还是更新,帮我保存起来就好了。听上去很美好,但对关系型数据库存储却是很不友好的。因此,在我们的场景里,需要违背一下书上所谓的最佳实践,我们告诉仓储是要新建还是更新,甚至如果是更新的话更新的是哪些列。

    另外领域驱动的最佳实践是基于事件驱动的,AxonFramework 对其有完美的实现,应用层发出一个 IssuePolicyCommand 指令,领域层接收该指令,完成保单创建后发出PolicyIssuedEvent,该 event 会被监听并且持久化到 event store 中。这种方式目前看起来在我们这里落地的可能性不大,不做更多介绍。

    2022-04-19 16:19:58
    赞同 展开评论 打赏
问答地址:
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
OPEN SOURCE IN A DATA-DRIVEN WORLD 立即下载
AutoAlerts-From Data to Action 立即下载
Dynamic DDL Adding Structure to Streaming Data on the Fly 立即下载