数据访问层返回BusinessObjects

时间:2011-06-24 16:08:31

标签: design-patterns data-access-layer business-objects

目前我正在研究在VB中使用VS2010实现Windows窗体应用程序的最佳设计模式。

我对某些设计模式感到困惑。我知道DAL应该返回对象而不是数据集,数据集等但是......如果我在DAL中有两个函数:GetProductById& GetAllProducts

这两个函数将返回Product对象和Product对象的集合。产品不是BOL对象吗?

如果我将CRUD添加到此对象中,那么它不再属于BOL你是否有两个版本的对象,一个用于DAL&一个没有数据库方法的BLL?

我知道这里有类似的帖子,但它们只会让我更加困惑,是否有人可以用简单的术语解释DAL对象如何与BOL对象进行交互和区别。

感谢。

1 个答案:

答案 0 :(得分:2)

您描述的场景很好 - 您的DAL 应该返回业务对象(或者,使用MVC术语 - 模型对象)。
模型对象是一个不同的“层”,控制器层和DA层都与之交互 您的CRUD方法也可以进入DAL(SaveProduct()或DeleteProduct()等。)