业务对象属性的好处?

发布于 2024-09-15 17:33:31 字数 267 浏览 6 评论 0原文

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

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

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

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

In my projects I am using 4 layers (userinterface, custom types, business logic and data access layer).

I heared a lot about benefits of properties but in practicle I just used business objects for transfering data between layers and not getting any benefit of properties.

I read that business rules, validations and checks can be implemented using properties but all these are done on front end using validation controls and regular expressions which even give good user experience. (I further do server side validations using same validaters and regular expressions before sending data to DB.)

Please guide me what are basic strength and use of properties ? Why they are important and how they bring benefits.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

等你爱我 2024-09-22 17:33:31

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

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

例如:

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

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

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

例如:

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

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

Right now, I can think of two possible usages of properties in Business objects.

1) Computed properties.
A readonly property returning some value based on other fields/properties of the object.

eg:

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

This logic should stay inside business object because tommorrow you may want to add some surcharge in the amount, and keeping it inside the object would reflect the new amount to all the users.

2) Validation properties
A property stating that the created instance of a business object (or some part of it) is valid or not.

eg:

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

Again, tommorrow the business may allow some items to be sold for free, and then the logic would include the items with price==0 as a valid price.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文