0

我有一个电子商务网站,我喜欢我的项目非常 n-Tier/松耦合/高度可扩展。

这个项目在 MVC 3 中,一个域库、一个服务库和一个数据访问库(存储库模式)。

但是,我对大规模恒定业务规则的实施持谨慎态度,例如临时全店折扣,以及应该/应该支付的最低存款费用。

4

1 回答 1

1

在我看来,任何处理允许的数据状态的业务规则都应该在数据库中执行。这包括有效的个人价值以及价值之间的有效关系。当您进行流程验证时,应将其移至处理流程的层。例如,是否允许特定状态转换到另一个特定状态可能不属于数据库,但可能属于它的下一层。

SQL 中可用的各种约束以及数据库触发器非常适合强制执行有关允许状态的规则。如果验证涉及多行或多表,您可能需要担心事务隔离级别和/或显式锁定以使其正确,而这些都是数据库功能。

于 2012-05-15T12:09:45.450 回答