【问题标题】:ASP.NET n-tier application validation / business logicASP.NET n 层应用程序验证/业务逻辑
【发布时间】: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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2010-09-05
      • 2011-12-03
      • 2013-08-07
      • 1970-01-01
      • 2015-11-10
      • 2018-04-17
      • 1970-01-01
      • 2011-01-20
      相关资源
      最近更新 更多