没有业务逻辑层的ASP.Net 2.0应用程序?

时间:2008-08-07 02:41:24

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

在没有BLL(业务逻辑层)的情况下拥有 ASP.Net 2.0 应用程序是否“可接受”?

  1. SQL Server数据存储&存储过程
  2. 连接到存储过程的数据链路层(强类型表适配器)
  3. 使用代码隐藏的表示层ASPX页面和用于直接连接到DLL的ObjectDataSource
  4. BLL总是更受欢迎,即使业务逻辑在演示文稿的代码中完全可以验证吗?不使用BLL有什么潜在的缺点?

5 个答案:

答案 0 :(得分:3)

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

如果您在演示文稿代码中拥有所有验证逻辑,那么您实际上很难在应用程序的其他位置重复使用。

答案 1 :(得分:1)

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

  1. 这是否会得到积极发展
  2. 这将在多年的使用中使用并在
  3. 上进行扩展
  4. 应用程序的扩展是未知的,因此是无限的
  5. 真的是懒惰。您想花多少时间从UI重新编写系统?因为没有业务层意味着你的UI中的规则重复可能很多页。

    然后再次,如果这是一个概念证明或简短的演示或类项目。采取简单的方法。

答案 2 :(得分:1)

可接受?取决于您的要求以及您的要求。这个应用程序是否是您和其他一些人使用的内部一次性?也许这足够好了。如果它是一个生产就绪的企业应用程序,这些应用程序将在未来几年内得到发展和维护,那么您可能希望在前期投入更多精力来构建可维护的应用程序。

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

答案 3 :(得分:1)

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

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

我认识一位在存储过程中所有他的业务逻辑的同事,他的观点主要是数据库后端的瘦客户端:他对他销售的产品非常成功。但这只是因为他与它非常一致。

答案 4 :(得分:0)

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