2

业务对象是否应该包含对其他对象的引用(如在 id 字段中引用另一个数据库记录)或者它是否应该具有实际对象的实例。

例如:

public class Company
{
    public int Id { get; set; }
    public CompanyStatus Status { get; set; }
}

或者

public class Company
{
    public int Id { get; set; }
    public int Status { get; set; }
}
4

4 回答 4

9

据我了解,它应该包含对接口的引用,而不是具体的类。

public class Company
{
    public int Id { get; set; }
    public ICompanyStatus Status { get; set; }
}

假设您的示例中 CompanyStatus 的具体实现是一个类而不是枚举。

于 2009-07-03T23:20:18.750 回答
4

当以 OO 方式创建业务层对象时,您应该直接使用对象。

在您的示例中,doesint Status是指存储在某处的 CompanyStatus 对象的 Id 吗?在这种情况下,感觉更像是数据层的问题。通常最好避免将数据层与业务层混合。

于 2009-07-03T23:26:09.080 回答
0

如果您在谈论 C#,那么聚合一个对象意味着您正在存储对它的引用。

于 2009-07-03T23:14:48.277 回答
0

这取决于数据。有些数据应该作为原始对象的副本存储,有些应该是引用。

于 2009-07-03T23:16:49.053 回答