none
Buenas prácticas a la hora de definir clases RRS feed

  • Debate general

  • Buenas!

    Me gustaría plantear una inquietud que siempre me surge cuando estoy definiendo clases y me gustaría leer sus opiniones. Un ejemplo simple: supongamos que tenemos dos clases, Cliente y Localidad.

    Class Cliente Property Codigo As Integer Property Nombre As String Property Direccion As String Property Localidad As Localidad

    Sub New(ByVal CodigoCliente As Long)

    CargarCliente(CodigoCliente)

    End Sub

    Private Sub CargarCliente(ByVal CodigoCliente As Long)

    'Proceso que carga la instancia con los datos del cliente.

    End Sub

    End Class Class Localidad Property Nombre As String Property CodigoPostal As Integer

    ...

    End Class

    Suponiendo que así como esa relación hay 10 más:

    A la hora de instanciar la clase Cliente, ¿cómo cargarían la clase Localidad? ¿Desde el mismo proceso que carga el cliente (trayendo los datos con un JOIN) o lo encapsularían dentro de la clase Localidad (con una nueva consulta a la base de datos)?

    No me termino de decir por rendimiento o escalabilidad, ustedes que piensan? Gracias!


    Santiago Ezequiel Rueda
    santiagorueda@live.com.ar
    Blog




    jueves, 16 de junio de 2016 21:23

Todas las respuestas

  • hola

    la verdad es que no implementaria ninguan de las dos opciones que planteas

    si hay otro medio ya sea un archivo json o el acceso a una db lo que deberias implementar es funcionalidad separada aplicando el concepto de Repository

    define las clases de forma simple y que sean las clases de Repository las que se encarguen del acceso a datos

    The Repository Pattern

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 16 de junio de 2016 21:48
  • Hola Leandro, gracias por responder!

    Disculpá mi ignorancia, tiene algo que ver con Entity Framework esto que me mencionas?


    Santiago Ezequiel Rueda
    santiagorueda@live.com.ar
    Blog



    jueves, 16 de junio de 2016 22:49