Las variables de referencia contienen espacio de nombres
Estoy tratando de seguir el consejo del que responde esta publicación:¿Cuál es la convención de nomenclatura para las clases en el proyecto DataAccess? (jdk).
Por favor, eche un vistazo al siguiente código:
'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
El cliente (formulario) llama a la capa de lógica de negocios y la capa de lógica de negocios llama a la capa de lógica de datos. El nombre (String) se pasa de la capa de lógica de datos a la capa de lógica de negocios y de vuelta al cliente.
No me gusta el hecho de que al hacer referencia a una interfaz tengo que especificar el espacio de nombres, por ejemplo. IPerson privada como DataLogicLayerShared.IPerson. ¿Debo especificar el espacio de nombres en la referencia o puedo modificar el patrón que he adoptado para evitar esto?