首页 > 其他 > 详细

关于DDD如何落地的随笔

时间:2020-04-20 11:46:52      阅读:70      评论:0      收藏:0      [点我收藏+]

1.使用EF的Model First的模式进行开发

  如果还是先建数据库表的话,脑子里想着就是表的设计原则,关联关系之类的, 生成出的实体不是一个好的领域模型, 所以我们应该先根据业务来建立一个领域模型,当然不知道怎么建模型的话,我们可以根据怎么建表的思路来建模型

2. 每个模型的无参构造函数都设为private或protected,提供一个公有的带参数的构造函数, 可以在这里对参数进行一些验证之类的操作。

3.聚合、实体和值对象

  聚合和实体都一一对应着我们数据库的一张表,基本上都是聚合, 对于那种父子表,明细表之类的,业务中不会单独去取的那种表的数据, 比方订单明细表, 我们不会在系统中单独的去查询订单明细,都是先找到订单才去看明细,这时候订单表就是聚合,明细表就建为实体, 聚合有上下文,可以进行查询之类的操作。实体只能在先查到父聚合,在聚合里面进行操作实体。

  值对象我们可以理解为表中 那些冗余的数据,这里也要用,那里也要用的字段。可以建成值对象。值对象可以在实体中,也可以在聚合中

4.领域事件

  领域事件就是一些通知类的额外异步操作。感觉可以放在消息队列里面的都可以搞成领域事件, 比方下单减库存, 就可以在订单聚合的构造函数里面,发布一个领域事件。

 

我最近搭的项目框架结构

技术分享图片

 

 

技术分享图片

 

 技术分享图片

 

关于DDD如何落地的随笔

原文:https://www.cnblogs.com/mchuang/p/12736673.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!