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