我有一个聚合根 Order 与相应的 OrderServiceOrderRepository

我有一个带有相应 ExtendedOrderExtendedOrderServiceExtendedOrderRepository

例如:

class Order {
   int GetOrderId();
}

class ExtendedOrder : Order {
   string GetExtendedInfo();
}

我想让 OrderService 返回类型 OrderExtendedOrder 作为 Order 的列表。但是要获得 ExtendedOrder ,当 ExtendedOrderService 的类型为 Order 时,它​​应该询问相应的 ExtendedOrder

是否有可能获得这种行为?
让一个聚合根扩展另一个聚合根是否合法?

最佳答案

您不需要 ExtendedOrderService。只需使用一个 OrderService 来协调来自 OrderRepository 和 ExtendedOrderRepository 的结果。

有关应用程序服务角色的更多信息,请参阅 answer to this question
一个应用服务可以使用多个存储库。

关于inheritance - DDD : aggregate root specialization,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9015038/

10-15 16:11