0

我有几个关于在普通 N 层架构应用程序中使用业务逻辑层的快速问题。

我正在开发我最后一年的大学项目,并使用 Web 表单表示层、业务逻辑层、数据访问层和数据层。

1) 您对执行用户输入验证的最佳位置有何看法?对我来说,将表示层与客户端验证的 jQuery 验证和服务器端验证的 ASP.NET 验证控件一起使用是有意义的 - 但是很多文章都指出最好在 BLL 中执行验证?

2) 目前我的 BLL 相当薄,90% 的类只是充当 DAL 的接口,但我知道最终会有更多。在我的 DAL 中,每个实体都有多个选择命令,例如 GetAllProducts()、GetProductsByCategoryID(categoryID)、GetProductByProductID(productID)、GetProductsBySupplierID(supplierID)。这似乎涉及低级别的业务逻辑,即从技术上讲,应该只是一个 GetAllProducts() 函数,可以使用 BLL 中的代码对其进行过滤。

您对此的最佳做法有何看法?一个在 BLL 中进行过滤的 select 语句,还是根据需要获取所需数据的多个 select 语句?我想总是选择每个产品都会在大型应用程序上占用大量资源,但至少在层之间存在真正的逻辑分离。

干杯,斯图。

4

1 回答 1

0

我不认为你需要有bll。你只需要有两层。WebUI 和 DAL。使用 linq to sql 或 lambda 表达式与数据实体模型将是完美的秘诀。

一个在 BLL 中进行过滤的 select 语句,还是根据需要获取所需数据的多个 select 语句?

如果您需要使用所有图层,您应该在 bll 中进行过滤,因为它是您的最终专业人士。当你重用你的代码时它会很有帮助。在 BLL 中制作过滤器。

于 2012-12-03T12:06:06.437 回答