gpt4 book ai didi

database - 业务逻辑验证的好地方

转载 作者:搜寻专家 更新时间:2023-10-30 23:19:17 25 4
gpt4 key购买 nike

好的,让我们从头开始。例如,我正在开发一些大项目。此类项目包含许多通用逻辑,这对我们所有人来说都不是 secret 。比如说,一些在线商店订单必须有一些商品,所有商品的价格总和必须正好是 1000。所以,我在 MVC3 web 应用程序中实现了这个逻辑,并对订单进行了验证。如果有问题,它会告诉用户有关问题并要求他重新发布表单。

但是项目还有另一个重要的部分。是数据库。在这里,我还可以将此验证逻辑包装在一些存储过程中,并仅通过此过程添加订单,以确保没有不一致。 (或者我应该使用表格检查来确定吗?)

这是我运行的卡住。有必要在两个地方复制逻辑以获得数据完整性。当然,我可能只在数据库端存储验证逻辑。但我怀疑它会降低应用程序性能。

我相信更有经验的人对这个问题有一个完整而优雅的解决方案。

那么,我怎样才能只在一个地方实现逻辑呢?

最佳答案

简单的答案,不是每个人都喜欢

  • 您的数据库将比您的客户端代码更持久
  • 您的数据库将拥有多个客户端代码库
  • 通常在多个地方进行验证:您会相信来自浏览器的用户输入并跳过服务器端验证吗?
  • 定义“验证”:复杂的业务规则还是数据完整性?如果是后者,那么这应该是 RDBMS 的责任

编辑,关于后半部分

并非所有逻辑都需要在数据库中实现:只有几个客户端代码库通用的逻辑。或者,您可以通过处理这些常见请求的单独层/服务来处理这些请求。

请注意,一些业务逻辑基于聚合或跨表或全表检查,最好在数据库中完成

关于database - 业务逻辑验证的好地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8676561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com