0

我正在尝试遵循这篇文章的回答者的建议:DataAccess 项目中类的命名约定是什么?(jdk)。

请看下面的代码:

'Form1.vb
Imports WindowsApplication1.BusinessLogicLayerShared

Public Class Form1

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim IPerson As IPerson
        IPerson = New BusinessLogicLayer.Person()
        Dim name As String = IPerson.getName()
    End Sub
End Class

'Person.vb
Imports WindowsApplication1.BusinessLogicLayerShared

Namespace BusinessLogicLayer
    Public Class Person
        Implements IPerson

        Private IPerson As DataLogicLayerShared.IPerson

        Public Function getName() As String Implements IPerson.getName
            IPerson = New DataLogicLayer.Person
            getName = IPerson.getName
        End Function
    End Class
End Namespace

Namespace BusinessLogicLayerShared
    Public Interface IPerson
        Function getName() As String
    End Interface
End Namespace

'Person.vb
Imports WindowsApplication1.DataLogicLayerShared
Namespace DataLogicLayer

    Public Class Person
        Implements IPerson

        Public Function getName() As String Implements IPerson.getName
            'Connect to database and get name
            Return "Ian"
        End Function

        Public Function getAge() Implements IPerson.getAge

        End Function
    End Class
End Namespace

Namespace DataLogicLayerShared
    Public Interface IPerson
        Function getName() As String
        Function getAge()
    End Interface
End Namespace

客户端(表单)调用业务逻辑层,业务逻辑层调用数据逻辑层。名称(字符串)从数据逻辑层传递到业​​务逻辑层并返回给客户端。

我不喜欢在引用接口时必须指定名称空间,例如 Private IPerson As DataLogicLayerShared.IPerson。我应该在参考中指定命名空间还是可以修改我采用的模式以避免这种情况?

4

1 回答 1

1

您应该能够Imports DataLogicLayerShared在源文件的顶部添加。这将使您不必使用命名空间完全限定每个类。

您可以在此处了解有关 VB .NET 引用和命名空间的更多信息

更新:如果您在不同的命名空间中有多个具有相同名称的类或接口,则必须通过在上面的示例中添加命名空间来限定您正在使用的类。

在您的情况下,您可能不需要在同一个源文件中包含业务层和数据层类。您的代码应该调用服务(业务逻辑)层,而后者又调用数据层。

于 2013-01-16T20:35:13.523 回答