none
CLASE DATA ACCESS (DA) ESTATICA O NO ? RRS feed

  • Pregunta

  • Quisiera su opinión sobre si hacer la clase data access estática o no ?

    El hacer un new en cada lugar que la usamos supongo que insume tiempo, poco tal vez, pero tiempo al fin.

    Normalmente a todos sus métodos les paso la información por parámetros, por lo tanto no tiene propiedades.

    No acceso a una base de datos desde dos lugares diferentes al mismo tiempo.


    Hugo González (Macgyber)

    jueves, 2 de julio de 2015 22:02

Respuestas

  • hola

    >>pero lo que no hago es modificar propiedades de la clase DA

    es que la clase DA no deberia tener ninguna propiedad

    >>me refiero a que cuando accedo a una tabla lo hago desde un lugar del programa, no desde varios distintos al mismo tiempo,

    eso es indistinto para la implementacion del DA, la idea es reutilizar codigo, quizas ahora no necesitas recuperar una entidad desde varios lugares de tu aplicacion, pero el dia de mañana podrias hacerlo

    >>determinados datos se sobre escribirían pues estaría usando la misma clase estática

    no, no lo que es estatico es el DA, la entidad NUNCA es estatic son instancias

    te dejo un ejemplo de implementacion de capa de datos

    [WinForms] Edición Empleados

    >>si otra persona entra desde una terminal, no estarian usando el mismo programa, uno sería una ejecución y ocuparia un espacio de memoria y el otro estaría en otra ejecución

    por terminal te refieres a dos PCs distintas ? o es la misma pc que se conectan por terminal service

    cada usuario crea su sesion por lo tanto si ejecutan un .exe tendran su propio proceso en memoria

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 2 de julio de 2015 23:28

Todas las respuestas

  • hola

    >>El hacer un new en cada lugar que la usamos supongo que insume tiempo

    el tiempo es infimo, quizas si consume memoria para mantener la instancia

    la creacion de instancia o no en realidad depende si vas a implementar un patron como ser repository y la idea es inyectar la instancia para poder implementar test del codigo

    sino vas a implementar test entonces puedes definir la clase de acceso a datos como static, pero no es un tema de tiempos o recursos insumidos sino mas bien de arquitectura

    >>Normalmente a todos sus métodos les paso la información por parámetros, por lo tanto no tiene propiedades.

     se supone que si haces una clase de acceso a datos debes pasale objetos, entidades de negocio o sea

    public void InsertCliente(Cliente entity){  ....

    o sea le pasas una entidad cliente para insertar no cada una de als propiedades

    >>No acceso a una base de datos desde dos lugares diferentes al mismo tiempo.

    no entendi, esto que implica ? si accedes desde dos lugares seran desde diferentes terminales de cada usuario

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 2 de julio de 2015 22:32
  • cuando hablo de parámetros, me refiero a los objetos que le paso, dichos objetos pueden ser entidades de negocio como tu bien dices, pero lo que no hago es modificar propiedades de la clase DA

    me refiero a que cuando accedo a una tabla lo hago desde un lugar del programa, no desde varios distintos al mismo tiempo,

    por ejemplo si tengo un método leoDato(...) y al mismo tiempo desde dos sitios diferentes lo acceso podría tener problemas con la información, determinados datos se sobre escribirían pues estaría usando la misma clase estática y ambas llamadas compartirian sus variables

    si otra persona entra desde una terminal, no estarian usando el mismo programa, uno sería una ejecución y ocuparia un espacio de memoria y el otro estaría en otra ejecución



    Hugo González (Macgyber)

    jueves, 2 de julio de 2015 22:56
  • hola

    >>pero lo que no hago es modificar propiedades de la clase DA

    es que la clase DA no deberia tener ninguna propiedad

    >>me refiero a que cuando accedo a una tabla lo hago desde un lugar del programa, no desde varios distintos al mismo tiempo,

    eso es indistinto para la implementacion del DA, la idea es reutilizar codigo, quizas ahora no necesitas recuperar una entidad desde varios lugares de tu aplicacion, pero el dia de mañana podrias hacerlo

    >>determinados datos se sobre escribirían pues estaría usando la misma clase estática

    no, no lo que es estatico es el DA, la entidad NUNCA es estatic son instancias

    te dejo un ejemplo de implementacion de capa de datos

    [WinForms] Edición Empleados

    >>si otra persona entra desde una terminal, no estarian usando el mismo programa, uno sería una ejecución y ocuparia un espacio de memoria y el otro estaría en otra ejecución

    por terminal te refieres a dos PCs distintas ? o es la misma pc que se conectan por terminal service

    cada usuario crea su sesion por lo tanto si ejecutan un .exe tendran su propio proceso en memoria

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 2 de julio de 2015 23:28