DDD 聚合根和实体

DDD aggregate roots and entities

我有一个 Invoice 对象,它有一个 InvoiceType。现在看这种情况,InvoiceType可以不开票存在。我应该将 Invoice 视为一个聚合根,将 InvoiceType 视为其聚合中的另一个聚合根,并通过 ID 引用将它们连接起来,还是 InvoiceType 应该只是 Invoice 聚合中的一个实体?

此外,在创建发票时,用户必须能够从下拉列表中选择发票类型,这表明它应该有自己的存储库。

我将 InvoiceType 视为单独的集合是否正确?

Am I right to treat InvoiceType as separate aggregate?

如果 InvoiceType 是一个实体,并且如果两个不同的 Invoices 可以有 "the same" 发票类型,那么可以 - 您需要将 InvoiceType 视为一个单独的聚合, 有自己的存储库,并通过 ID 引用连接它们。