业务对象应该包含对象还是引用?

Ant*_*ift 2 c# business-objects

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

例如:

public class Company
{
    public int Id { get; set; }
    public CompanyStatus Status { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

要么

public class Company
{
    public int Id { get; set; }
    public int Status { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Rak*_*e36 9

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

public class Company
{
    public int Id { get; set; }
    public ICompanyStatus Status { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

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