我正在实现一个数据访问层 (DAL),它基本上是一组具有 (VB.NET) 共享函数的类,用于实际执行数据库 (CRUD) 调用。我试图找出在类层次结构中调用 DAL 的最佳位置。让我举个例子吧。
假设我有一个类 Customer,它只有标准 ID、Name、Address1 等属性,可能还有一个被覆盖的 ToString 函数左右。我还有一个带有共享方法的 DAL 类,例如:
(pseudocode)
Namespace Dal
Public Class Customer
Public Shared Function Read(id As Integer) As Customer
Public Shared Function ReadList() As List(Of Customer)
Public Shared Sub Create(c As Customer)
'etc.
现在,我可以像这样从表示层调用 Dal:
Me.DataGridView1.Datasource = Dal.Customer.ReadList
但是,让表示层完全了解 Dal 不是一个好习惯吗?我应该像这样将方法放在客户对象中并调用 Dal 吗?
Public Function ReadList() As List(Of Customer)
Return Dal.Customer.ReadList()
End Sub
Public Sub Create()
Dal.Customer.Create(Me)
End Sub
这会是“更清洁”的 OOP 吗?或者让演示文稿调用 Dal 并像我之前的示例一样传递业务对象是否可以接受:
Me.DataGridView1.Datasource = Dal.Customer.ReadList
Dim c As New Customer
c.Name = "Alpha Corporation"
c.Address1 = "123 Main Street"
Dal.Customer.Create(c)
感谢您的反馈意见。