ruby-on-rails – 你如何保持业务规则干?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 你如何保持业务规则干?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在完美的应用中,每个业务规则只存在一次.

我为在数据库中尽可能强制执行业务规则的商店工作.在许多情况下,为了实现更好的用户体验,我们在客户端执行相同的验证.不是很DRY.作为一个SPOT纯粹主义者,我讨厌这个.

另一方面,一些商店创建了愚蠢的数据库(Rails社区倾向于这个方向),并将业务逻辑放到了一个单独的层次上.但是即使这样,一些验证逻辑就会重复出现在客户端.

为了使问题进一步复杂化,我明白为什么数据库应该是treated as a fortress,所以我同意在数据库中强制/重复验证.

考虑到矛盾的问题,试图在一个地方强制验证是不容易的 – 保持DRY,保持数据库的堡垒,并提供良好的用户体验.我有some idea for overcoming this issue,但我想有更好的.

我们可以以干旱方式平衡这些矛盾的问题吗?

解决方法

任何未在其所属数据库中强制执行所需业务规则的人将具有不良数据,简单易行.数据完整性是数据库的工作.数据库受到比应用程序更多的源的影响,并且在应用程序中放置必需的规则只是短视的.如果这样做,您将从进口,其他应用程序连接时获得不良数据,从即席查询修复大量数据(将所有价格提高10%)等.在极端强制执行是愚蠢的仅通过应用程序进行规则.但是,再次,我是必须修复不良数据的人,这些数据被设计成设计不佳的数据库,应用程序开发人员认为他们应该在应用程序中做任何事情.

数据将在许多情况下长期存在于应用程序中.当这种情况发生时,你会失去规则.

猜你在找的Ruby相关文章