【发布时间】:2012-12-02 11:59:28
【问题描述】:
我有几个关于在普通 N 层架构应用程序中使用业务逻辑层的快速问题。
我正在开发我最后一年的大学项目,并使用 Web 表单表示层、业务逻辑层、数据访问层和数据层。
1) 您对执行用户输入验证的最佳位置有何看法?对我来说,将表示层与客户端验证的 jQuery 验证和服务器端验证的 ASP.NET 验证控件一起使用是有意义的 - 但是很多文章都指出最好在 BLL 中执行验证?
2) 目前我的 BLL 相当薄,90% 的类只是充当 DAL 的接口,但我知道最终会有更多。在我的 DAL 中,每个实体都有多个选择命令,例如GetAllProducts()、GetProductsByCategoryID(categoryID)、GetProductByProductID(productID)、GetProductsBySupplierID(supplierID)。这似乎涉及低级别的业务逻辑,即技术上应该只是一个 GetAllProducts() 函数,可以使用 BLL 中的代码进行过滤。
您对这方面的最佳做法有何看法?一个在 BLL 中过滤的 select 语句,还是根据需要获取所需数据的多个 select 语句?我会想象总是选择每个产品会在大型应用程序上占用大量资源,但至少在层之间存在真正的逻辑分离。
干杯, 斯图。
【问题讨论】:
标签: asp.net validation n-tier-architecture business-logic