看完这篇文章后(business logic database or application layer),我仍然没有足够的理由来解决“数据库中的业务逻辑”主题。

在我当前的工作中,(实际上)有很多db事务,所有糟糕的代码都难以维护,存储过程中有很多重复,因此,如果您想稍微更改表中的值,您将需要找到所有这些过程,并将它们更改为所需的内容。如果您需要稍微更改表设计,也会发生同样的情况。

当前所有的开发人员都非常了解SQL,但是他们仍然不是任何数据库引擎的专家(8个开发人员)。

当前,我们计划将整个内核迁移到新版本(包括数据库设计)。我需要一些示例:

  • 为什么数据库中的业务逻辑有时是EVIL
  • 多少时间以及何时在数据库中进行业务逻辑
  • 为什么应用程序层中的业务逻辑更适合企业应用程序。

  • 应用语言:Java
    数据库:Oracle11g
    该应用程序将具有服务,用作HTTP页面和WebServices。

    最佳答案

    断断续续的代码确实很难维护。那就是糟糕的代码的本质-而不是它所在的位置。转向“前端代码糟糕”的解决方案并不是一个真正的解决方案。

    而且,如果您认为数据库结构的更改不会影响前端编码的业务逻辑...嗯-逻辑的指示方式有所不同。

    我认为某些事情在前端处理得很好,而某些事情在后端处理得更好。而且我认为,在业务对象级别运行的适当PL/SQL API设计可以通过将结构更改问题与其他层隔离来减轻结构更改问题。

    但是,如果有考虑支持其他DB的想法,那么这也是一个有问题的想法,因为并非每个DB都支持相同的构造。

    至于业务逻辑所属的位置-这可能完全取决于您的应用程序,并且实际上,出于性能方面的原因,您可能会发现将其某些方面多层化是有利的。当然,这可能会导致维护问题,但这都成为交付项目或产品所必需的权衡取舍的一部分。

    但是,肯定没有一个严格的普遍答案。

    关于java - DataLayer的业务逻辑,应用程序层放在哪里?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5170213/

    10-13 22:47