Tag: 业务规则

使用3层体系结构validationASP.NET MVC应用程序中的业务规则的更好方法是什么?

我正在开发一个带有3层经典架构的ASP.NET MVC应用程序1.数据访问(Repositories)2。业务逻辑(Services)3。应用层(MVC Controller类)任务是遵循领域类Learner和学习者可以参加考试,参加考试会产生一个订单(订单类),之后学习者参加考试,我们需要为每个学习者发布考试成绩(这意味着给出一个分数和成绩)并且有一些需要的商业规则已validation1.结果尚未发布2.所有有身份的学员都应该有标记3.应该确认评分边界(考试的分数和等级)当用户确实发布结果时,所有这些规则应该validation,如果有一些规则不满意应该显示错误信息。 我决定所有与validation业务规则相关的逻辑都保留在Service类中,如果任何规则没有传递抛出特定exception,则在控制器类中,此exception将捕获并向客户端显示错误。 这是代码 服务类 public void ReleaseResults(long orderId) { var order =orderRepository.Get(orderId); Check.Require(order != null, “Order was not found”); if (IsOrderReleased(order)) { throw new ReleaseResultsException(“The results has been already released”, order.OrderNo); } if (AllLearnersHasStatusPresentAndMark(order)) { throw new ReleaseResultsException(“One or more learners unmarked”, order.OrderNo); } if (!GradingBoundaryConfirmed(order)) { throw new ReleaseResultsException(“The Grading boundary needs […]