gpt4 book ai didi

vb.net - OOP - 在哪里调用数据访问层?

转载 作者:行者123 更新时间:2023-12-04 11:18:02 27 4
gpt4 key购买 nike

我正在实现一个数据访问层 (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 难道不是一个好习惯吗?我应该像这样将方法放在 Customer 对象中并调用 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)

感谢您的反馈意见。

最佳答案

您的应用程序对您的 DAL 了解得越少越好。有几种方法可以做到这一点,我认为您走在正确的轨道上。我想你可能想看看 factory pattern对于此实现,您将能够将 DAL 实现隐藏在工厂后面,并从工厂返回实体和实体集合。

关于vb.net - OOP - 在哪里调用数据访问层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/570931/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com