Skip to content

领域层

领域层主要是业务逻辑的实现,包括领域模型、领域服务、领域事件等。这些在领域驱动设计中的战术设计中已经介绍过了,这里不再赘述。

下面我们来看一下具体是怎么落地的:

目录结构:

├── domain
│   ├── entity
│   │   ├── XXXEntity.java - 实体/聚合根/值对象
│   │   └── ...
│   ├── service
│   │   ├── XXXDomainService.java - 领域服务
│   │   └── ...
│   └── repository
│       ├── XXXRepository.java - 领域侧仓储层

代码示例:

  1. XXXEntity:实体/聚合根/值对象
java

@Data
@NoArgsConstructor
@AllArgsConstructor
public class XXXEntity {
    private Long id;
    private String name;
    private Integer age;
}
  1. XXXDomainService:领域服务
java
// 领域服务
@Service
public class XXXDomainService {
    @Autowired
    private XXXRepository xxxRepository;
    public void doSomething(XXXEntity xxxEntity) {
        // 业务逻辑
    }
}
  1. XXXRepository:领域侧仓储层
java
// 领域侧仓储层
public interface XXXRepository {
    void save(XXXEntity xxxEntity);
    XXXEntity findById(Long id);
    List<XXXEntity> findAll();
}