学习ddd(一)-- 领域驱动设计相关概念

本文介绍了领域驱动设计(DDD)的基本概念,包括充血模型的优势,实体与值对象的区别,聚合、聚合根和边界上下文的概念,资源库的作用,防腐层的设计以及领域事件的应用。通过实例讲解,帮助读者理解DDD在实际开发中的应用。
摘要由CSDN通过智能技术生成

我之前一直对领域驱动设计(DDD)相关的知识有零散的认识,没有系统性地学习过。最近抽空系统地学习了一下,发现这块知识比较抽象,很难读懂。加上我自己的理解,我整理了一些知识,希望能够分享给大家

第一期先讲些了DDD的一些基础概念

充血模型

在我们以往的开发模式中,Model 对象通常只包含属性变量和 get/set 方法,这种模式被称为“贫血模型”。举个例子,比如订单的作废方法,在传统的做法中,我们会在 Service 层编写业务逻辑,如下所示:

@Data
class Order {
   
  private Long id;
  private Date cancelDate;
  private Integer Status;
}

@Service
class OrderService {
   
    // 传统写法,service臃肿
    public void cancel(Long id) {
   
            Order order = new Order(id);
            order.setCancelTime(new Date());
            order.setStatus(StatusEnum.CANCELED.getCode());
            orderDAO.update(order);
        }
}

如果我们使用充血模型进行改造

@Data
class Order {
   
  private Long id;
  private Date cancelDate;
  private Integer Status
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值