ahe*_*ero 1 frameworks domain-driven-design event-sourcing axon
我有这个问题很久了。对于 Internet 上的大多数示例。他们总是先创建一个聚合对象,然后再操作聚合对象。我的问题是,除了每次都创建一个之外,如何从数据库加载一个。我将以 e-sopping 为例。我将一种产品视为一个聚合对象。我无法将它们全部加载到我的程序内存中。那我该怎么办呢?
我所做的是,编写另一个带有参数 UpdateProductCommand 的构造函数以及带有参数 CreateProductCommand 的构造函数。在此构造函数中,我从数据库加载它。这样可以吗?
class Product{
public Product(){}
@CommandHandler
public Product(CreateProductCommand command){
apply(new CreateProductEvent(command.id));
}
@CommandHandler
public Product(UpdateProductCommand command){
load(command.id)
...
apply(new UpdateProductEvent(command.id));
}
}
Run Code Online (Sandbox Code Playgroud)