聚合根和大量数据

问题描述 投票:0回答:0

当有超过 100 个子相关模型时,我需要更改父模型的状态时遇到问题。

class AggregateRoot {
    constuctor(private parentModel, private childModels) {}
    
    public function updateStatus()
    {
        if (count(this->childModels) > 100) {
            this->parentModel->status = 'some status';
        }
    }
}

据我了解,聚合根仅包含模型,不包含服务,因此我无法将存储库注入聚合根。另一方面,检索所有子模型只是为了查看其中是否有 100 个似乎是开销,而我可以向 DB 发出一个简单的请求。

如何用聚合根解决这样的问题?

domain-driven-design aggregateroot
© www.soinside.com 2019 - 2024. All rights reserved.