实体与聚合根

实体是DDD(Domain Driven Design)中核心概念.Eric Evans是这样描述实体的 "一个没有从其属性,而是通过连续性和身份的线索来定义的对象"

实体通常映射到关系型数据库的表中.

实体类

  • 简单的实体类

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public class SysUserEntity {
        private String id;
        private String userName;
        private String pwd;
        ......
    }
  • 具有复合键的实体类

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public class SysUserRoleEntity {
        private String id;
        private String userName;
        private String pwd;
        private String roleId;
        ......
    }

在应用服务中使用示例:

聚合根

"聚合是域驱动设计中的一种模式.DDD的聚合是一组可以作为一个单元处理的域对象.例如,订单及订单系列的商品,这些是独立的对象,但将订单(连同订单系列的商品)视为一个聚合通常是很有用的"

  • 示例

    看这概念好像很高深,但实际的操作这个和我们经常写DO,VO,DTO,BO 几乎是一样的

当然每个聚合根如果都公用的属性我们也是需要进行抽离的。

  • 示例

Last updated

Was this helpful?