我有一组联系人信息,我将在ASP.NET MVC页面中显示
他们将有一个电子邮件地址或联系信息
我应该有这个设置吗
public class Contact
{
public int ID { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public string Explanation { get; set; }
}
当解释为空时显示电子邮件地址
或
public class Contact
{
public int ID { get; set; }
public string Name { get; set; }
public string DisplayInfo { get; set; }
public int DisplayInfoType { get; set; }
}
显示信息类型决定了我将如何显示信息。
答案 0 :(得分:1)
第一种方法:它更具表现力!
在第一个例子中,域模型更具表现力;它说明数据意味着什么。
您需要填写两个中的一个是业务规则,您无需在实体的属性中表达。
答案 1 :(得分:0)
DisplayInfo或者就此而言,任何类似的显示逻辑都应该包含在视图中。业务逻辑不负责必须在视图上向用户显示域的哪个部分。这应该在视图级别处理。
答案 2 :(得分:0)
第一个设置更好。它表达了这些领域更有效的方式。它将UI逻辑的执行延迟到适当的层。
另请注意,您的电子邮件可能为空,也可能为空。另外,您可以从诸如ContactInstructions之类的字段名称中获得更多用途,而不是解释(解释什么?)。