【问题标题】:ASP.Net 2.0 Application without Business Logic Layer?没有业务逻辑层的 ASP.Net 2.0 应用程序?
【发布时间】:2010-09-05 11:34:00
【问题描述】:

ASP.Net 2.0 应用程序没有如下 BLL(业务逻辑层)是否“可以接受”?

  1. SQL Server 数据存储和存储过程
  2. 连接到存储过程的数据链路层(强类型表适配器)
  3. 带有代码隐藏的表示层 ASPX 页面和用于直接连接到 DLL 的 ObjectDataSource

即使业务逻辑在演示文稿的代码中完全可验证,BLL 是否总是更可取?不使用 BLL 的潜在缺点是什么?

【问题讨论】:

    标签: asp.net business-logic-layer objectdatasource


    【解决方案1】:

    只要你明白后果是可以接受的。您拥有 BLL 的主要原因是在整个应用程序的其他地方重用该逻辑。

    如果您在演示代码中包含所有这些验证逻辑,那么您确实很难在应用程序的其他地方重用。

    【讨论】:

      【解决方案2】:

      与其他一切一样,它是环境因素,取决于系统的使用。你需要问自己的问题是:

      1. 会积极开发吗
      2. 这是否会在多年的过程中使用并扩展
      3. 应用程序的扩展是未知的,因此是无限的

      真的归结为懒惰。您想花多少时间从 UI 重新设计系统?因为没有业务层意味着您的 UI 中的规则可能会在许多页面上重复。

      如果这是一个概念证明或简短的演示或课堂项目,那么再说一次。采取简单的方法。

      【讨论】:

        【解决方案3】:

        可以接受吗?取决于你问谁和你的要求是什么。这个应用程序是您和其他一些人使用的一次性内部应用程序吗?也许这已经足够好了。如果它的目的是成为一个生产就绪的企业应用程序,并且会随着时间的推移不断增长和维护,那么您可能希望在前期投入更多的精力来构建一个可维护的应用程序。

        关注点分离是构建可维护应用的关键设计技术。通过将表示、业务和数据访问逻辑混合在一起,您最终会得到一个非常脆弱且难以更改的应用程序架构。

        【讨论】:

          【解决方案4】:

          这取决于。如果您的业务逻辑在您的点击事件和页面加载中,这是不可接受的。

          您的业务逻辑似乎在 DAL 中的某个地方(例如,存储过程等),只要您保持一致,就可以了。只要您非常非常确定您的客户将始终使用 SQL Server,那么这种方法就不是问题。

          我认识一位同事,他所有业务逻辑都在存储过程中,他的观点主要是瘦客户端到数据库后端:他销售的产品取得了巨大的成功。但这只是因为他非常符合这一点。

          【讨论】:

            【解决方案5】:

            如果应用程序是通用的,那么业务逻辑层也可以用于完整的其他应用程序。比如,我通常在其他应用程序中使用与 CMS 相关的 BLL 类。

            【讨论】:

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