没有业务逻辑层的ASP.NET2.0应用程序?
如果ASP.Net 2.0应用程序没有以下BLL(业务逻辑层),是否“可以接受”没有业务逻辑层的ASP.NET2.0应用程序?,asp.net,business-logic-layer,objectdatasource,Asp.net,Business Logic Layer,Objectdatasource,如果ASP.Net 2.0应用程序没有以下BLL(业务逻辑层),是否“可以接受” SQL Server数据存储和存储过程 连接到存储过程的数据链路层(强类型表适配器) 表示层ASPX页面,带有代码隐藏和ObjectDataSource,用于直接连接到DLL 即使业务逻辑在演示文稿的代码中是完全可验证的,BLL是否总是可取的?不使用BLL的潜在缺点是什么?与其他任何东西一样,它是环保的,取决于系统的使用。你需要问自己的问题是: 是否会积极发展 这是否将在多年的过程中使用并扩展 应用程序的扩展是未知
即使业务逻辑在演示文稿的代码中是完全可验证的,BLL是否总是可取的?不使用BLL的潜在缺点是什么?与其他任何东西一样,它是环保的,取决于系统的使用。你需要问自己的问题是:
然后,如果这是一个概念证明或简短的演示或课堂项目。走捷径。只要你了解后果,这是可以接受的。拥有BLL的主要原因是在整个应用程序的其他地方重用该逻辑
如果您在表示代码中有所有验证逻辑,那么您真的很难在应用程序的其他地方重复使用。可以接受吗?取决于你问谁以及你的要求是什么。这个应用程序是你和其他一些人使用的内部一次性应用程序吗?也许这已经足够好了。如果它是一个生产就绪的企业应用程序,将在未来几年中不断增长和维护,那么您可能希望在构建一个可维护的应用程序之前投入更多的精力
关注点分离是构建可维护应用程序的关键设计技术。通过将表示逻辑、业务逻辑和数据访问逻辑混合在一起,最终可能会形成一个非常脆弱、难以更改的应用程序体系结构。这取决于具体情况。如果您的业务逻辑在单击事件和页面加载中,则不可接受 似乎您的业务逻辑在DAL中的某个地方(例如,存储过程等),只要您保持一致,就可以了。只要您非常非常确定您的客户机将始终使用SQL Server,那么这种方法就不是问题
我认识一位同事,他所有的业务逻辑都在存储过程中,他的观点大多是数据库后端的瘦客户机:他销售的产品非常成功。但这只是因为他非常赞同它。如果应用程序是通用的,那么业务逻辑层也可以用于其他完整的应用程序中。比如,我通常在其他应用程序中使用CMS相关的BLL类