我已阅读MSDN中的以下文章:http://msdn.microsoft.com/en-us/library/aa581779
它讨论了创建数据层,业务逻辑层和表示层,以及如getProductsDAL(),getProductsBLL()等命名约定,甚至将它们分成类库。
我的问题是:如果不使用.NET数据集,开发人员是否遵循这种方法,即如果您自己拥有所有逻辑,例如有一个名为getProducts的函数,它使用连接对象连接到数据库,然后使用SQLDataReader遍历结果集并在页面上显示结果。我正在考虑将这样的功能分成几层。
答案 0 :(得分:2)
如果您按照自己的方式行事:
您的数据层将包含打开连接,执行查询/存储过程并返回数据集或数据表的方法。此图层不从上面的图层接收连接信息,只返回每个方法的查询结果。连接在此级别实例化。
您的业务逻辑层包含各自调用一个或多个数据层方法的方法。示例:添加新用户还意味着为该用户设置权限,因此BL.AddNewUser(params ...)将调用DL.InsertUser(params ...)和DL.SetPermissions(int Userid,List权限)。此BL方法还可以调用另一个DL方法,该方法获取分配新用户的默认权限列表
您的UI图层会使用所有相应的新用户详细信息调用BL.AddNewUser(params ...)