我是 Axon 框架、CQRS 和 DDD 的新手。我被教导使用关系数据库创建简单的 CRUD 应用程序。因此,我首先专注于构建数据模型,而不是领域模型。我想改变我的软件方法,使其更加务实,并创建现实世界的应用程序。因此,我想使用 CQRS 模式和事件溯源。
我现在正在使用 Spring Boot 和 Axon 框架开发一个库应用程序。基本要求之一是用户已借书。我有两个用于 User 和 Book 的聚合。
这是我的 BookAggregate:
@Data
@AllArgsConstructor @NoArgsConstructor
@Aggregate
public class BookAggregate {
@AggregateIdentifier
private UUID id;
private String name;
private String isbnNumber;
private int amountOfCopies;
private Author author;
private Genre genre;
private PublishingHouse publishingHouse;
...
Run Code Online (Sandbox Code Playgroud)
这是我的 UserAggregate:
@Data
@AllArgsConstructor @NoArgsConstructor
@Aggregate
public class UserAggregate {
@AggregateIdentifier
private UUID id;
private String firstName;
private String lastName;
private String email;
private String password;
private …Run Code Online (Sandbox Code Playgroud)