领域层
领域层主要是业务逻辑的实现,包括领域模型、领域服务、领域事件等。这些在领域驱动设计中的战术设计中已经介绍过了,这里不再赘述。
下面我们来看一下具体是怎么落地的:
目录结构:
├── domain
│ ├── entity
│ │ ├── XXXEntity.java - 实体/聚合根/值对象
│ │ └── ...
│ ├── service
│ │ ├── XXXDomainService.java - 领域服务
│ │ └── ...
│ └── repository
│ ├── XXXRepository.java - 领域侧仓储层
代码示例:
XXXEntity
:实体/聚合根/值对象
java
@Data
@NoArgsConstructor
@AllArgsConstructor
public class XXXEntity {
private Long id;
private String name;
private Integer age;
}
XXXDomainService
:领域服务
java
// 领域服务
@Service
public class XXXDomainService {
@Autowired
private XXXRepository xxxRepository;
public void doSomething(XXXEntity xxxEntity) {
// 业务逻辑
}
}
XXXRepository
:领域侧仓储层
java
// 领域侧仓储层
public interface XXXRepository {
void save(XXXEntity xxxEntity);
XXXEntity findById(Long id);
List<XXXEntity> findAll();
}