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

时间:2010-08-23 08:25:00

标签: c# architecture class-design

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

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

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

请指导我的基本力量和用途是什么?为什么它们很重要以及它们如何带来好处。

1 个答案:

答案 0 :(得分:1)

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

1)计算属性。 readonly属性,根据对象的其他字段/属性返回一些值。

例如:

public double AmountToPay { get { return _price*qty; }}

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

2)验证属性 一个属性,指出所创建的业务对象实例(或其某些部分)是否有效。

例如:

public bool IsAValidPrice { get { return _price > 0 ; } }

同样,明天企业可能会允许一些商品免费出售,然后逻辑将包含价格== 0作为有效价格的商品。