C# 业务对象中属性的好处?

C# 业务对象中属性的好处?,c#,architecture,class-design,C#,Architecture,Class Design,在我的项目中,我使用4层(用户界面、自定义类型、业务逻辑和数据访问层) 我听说过很多关于属性的好处,但在实践中,我只是使用业务对象在层之间传输数据,而没有从属性中获得任何好处 我了解到,业务规则、验证和检查可以使用属性来实现,但所有这些都是在前端使用验证控件和正则表达式来完成的,甚至可以提供良好的用户体验。(在将数据发送到DB之前,我还使用相同的验证程序和正则表达式进行服务器端验证。) 请告诉我什么是基本力量和使用性能?为什么它们很重要以及它们如何带来好处。现在,我可以想到业务对象中属性的两种可

在我的项目中,我使用4层(用户界面、自定义类型、业务逻辑和数据访问层)

我听说过很多关于属性的好处,但在实践中,我只是使用业务对象在层之间传输数据,而没有从属性中获得任何好处

我了解到,业务规则、验证和检查可以使用属性来实现,但所有这些都是在前端使用验证控件和正则表达式来完成的,甚至可以提供良好的用户体验。(在将数据发送到DB之前,我还使用相同的验证程序和正则表达式进行服务器端验证。)


请告诉我什么是基本力量和使用性能?为什么它们很重要以及它们如何带来好处。

现在,我可以想到业务对象中属性的两种可能用法

1) 计算属性。 基于对象的其他字段/属性返回某些值的只读属性

例如:

这个逻辑应该保留在业务对象内部,因为明天您可能需要在金额中添加一些附加费,并且将其保留在对象内部将向所有用户反映新的金额

2) 验证属性 声明所创建的业务对象实例(或其某些部分)是否有效的属性

例如:


同样,明天业务部门可能会允许免费出售某些项目,然后逻辑将包括价格==0的项目作为有效价格。

您似乎一方面询问如何使用属性(C#类实例属性?),另一方面询问验证的适当层。不太清楚您在这里问了什么,或者验证和属性之间的关系如何。你能更新和澄清吗?很难回答。这很可能最终导致一场宗教讨论。但是如果你问buiness对象的属性是什么。。。那你就不需要了,真的!我已经编辑了我的问题,希望它现在清楚了。我只想问一下房产的好处。谢谢汉克斯·安比,你说的是对的,但我觉得在练习中这不是练习。如果我们在web上工作,我们必须进行客户端验证,并且使用验证控件和使用属性的正则表达式验证看起来毫无用处。这就是为什么我试图看到房地产的真正用途。请给出建议。我同意,在基于纯html+javascript的应用程序中,这并不是那么简单。您可以考虑使用一些Ajax/jQuery来允许客户端服务器之间进行更多的交互。如果我能找到更好的答案,我一定会给你回复的。干杯
public double AmountToPay { get { return _price*qty; }}
public bool IsAValidPrice { get { return _price > 0 ; } }