Skip to main content

什么是隐式关联

在领域驱动设计(DDD)中,隐式关联指的是两个实体之间存在一种关系,但这种关系并没有明确地定义或显式地表示出来。隐式关联通常通过聚合根和聚合之间的关系来表示。

举个例子,假设有一个订单和订单明细的模型。每个订单明细都与一个订单相关联,这种关联是通过订单ID来表示的,但并没有显式地定义为一个关联类或关联属性。

以下是是隐式关联的示例:

public class Order  
{
public int OrderId { get; set; }
public List<OrderDetail> OrderDetails { get; set; }
}

public class OrderDetail
{
public int OrderDetailId { get; set; }
public int OrderId { get; set; } // 隐式关联到订单
public decimal Quantity { get; set; }
public decimal Price { get; set; }
}

在上面的代码中,Order类表示订单聚合根,OrderDetail类表示订单明细聚合。通过在OrderDetail类中添加一个OrderId属性来表示与哪个订单相关联,这种关联是隐式关联。由于没有使用显式的关联类来表示这种关系,因此它是隐式关联。

隐式关联常常伴随着多方隐式关联,我们将在后续的教程中进行深入探讨。