DAL / BL设计问题

时间:2010-12-19 18:53:03

标签: .net data-access-layer business-objects

正在使用.net 2.0 Windows应用程序。 数据访问层[DAL]执行存储过程并将datareader / dataset返回到业务层[BL]。

BL引用DAL dll,遍历datareader / dataset,读取列值,创建业务对象并将其返回到UI层。

鉴于此,业务层是否可以引用数据库表的列?

这是一个很好的做法吗?图层设计?

如果我从DAL而不是dataset / datareader返回Business对象,那么我的DAL项目也必须引用BL dll。所以,这里不会有循环引用吗? 感谢。

1 个答案:

答案 0 :(得分:3)

不是良好做法,因为您的数据层正在公开实现细节,因此信息隐藏和封装将丢失。

您应该传递为数据建模的对象。

例如,您应该传递order对象,而不是Order数据行。