none
Separar capa de acceso a datos de la lógica y presentacion RRS feed

  • Pregunta

  • Hola gente!!

    En un proyecto de software (ASP.Net) que necesita acceso a datos y capa de presentación, como puedo separar todo de la mejor manera??

    De tal forma que si por ejemplo tengo mi webForm allí sólo tenga capa de presentación, q si tengo luego una clase ps que allí sólo habite la lógica del proyecto (negocio) dependiendo las clases que utilicen y como yo desee comunicarlas entre si dependiendo si hay alta cohesión o baja cohesión. Y que si tengo acceso a datos, entonces, que pueda no hacer mis consultas y ejecución de procedimientos SQL no en la clase sino a otro nivel. 

    Como ???

    Gracias!!!!

     

    jueves, 22 de julio de 2010 2:50

Respuestas

  • hola

    mira este ejemplo

    N-Tier Application – Parte 1

    no tiene mucha explciacion, pero descargando el codigo puedas analziarlo y ver como se comunican las capas

    tambiene sta este otro

    [N-Tier] – Desarrollo en capas - Ejemplo Facturacion - Parte 2

    no es web pero la comunicacion entre las capas deberia ser identico, igual te rcomendaria que no uses dataset tipados, usa como en el primer ejemplo clase

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 22 de julio de 2010 12:08
  • hola

    creo mi función en la capa de acceso a datos y sólo lo tendría que llamar ese SP verdad?

    asi es

    Pero si por ejemplo yo tengo mi archivo .mdf en mi proyecto y creo mi SP dentro de mi proyecto, en mi archivo .mdf, como puedo contextualizar ese procedimiento almacenado a mi proyecto???

    que uses un mdf o que el mdf este dentro del servicio de sql server es lo mismo, el SP estara dentro de tu base de datos y tu lo invocas con un command de ado.net

    que no te confunda el uso del mdf o no con las capas de tu aplicacion

    O que es preferible, que mi proyecto no tenga dentro de su contenido un archivo .mdf. O trabajar todo lo de bases de datos directamente con SQL server.

    depende eso como quieras trabajarlo, no afectaria a las separacion en capas, o al menos no deberia afectarlo

    Entonces ps tu proyecto usa LINQ to SQL. Basciamente cual es la principal diferencia entre: linq to sql y entity framework.??

    los ejmeplos de los link que puse ninguno usa Linq to Sql

    la diferencia es que Entity Framework es un ORM en cambio el otro no

    si vas a usar uno de ellos te recomendaria que sea Entity Framework ya que este sera el reemplzazo de Linq to Sql, segun tengo entendido en futuras versiones lo discontinuan a Linq to Sql, por las dudas no me ariesgaria a usarlo cuando se sabe que el futuro es Entity Framework

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 24 de julio de 2010 22:30

Todas las respuestas

  • hola

    mira este ejemplo

    N-Tier Application – Parte 1

    no tiene mucha explciacion, pero descargando el codigo puedas analziarlo y ver como se comunican las capas

    tambiene sta este otro

    [N-Tier] – Desarrollo en capas - Ejemplo Facturacion - Parte 2

    no es web pero la comunicacion entre las capas deberia ser identico, igual te rcomendaria que no uses dataset tipados, usa como en el primer ejemplo clase

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 22 de julio de 2010 12:08
  • Hola

    O.k Gracias lo voy a estudiar.

    jueves, 22 de julio de 2010 19:08
  • Hola

    Impresionante ejemplo!!!

    Tengo una pregunta, si deseo ejecutar un procedimietno SQL, creo mi función en la capa de acceso a datos y sólo lo tendría que llamar ese SP verdad?

    Pero si por ejemplo yo tengo mi archivo .mdf en mi proyecto y creo mi SP dentro de mi proyecto, en mi archivo .mdf, como puedo contextualizar ese procedimiento almacenado a mi proyecto???

    O que es preferible, que mi proyecto no tenga dentro de su contenido un archivo .mdf. O trabajar todo lo de bases de datos directamente con SQL server.

    Otra cosa, hoy estuve en un curso online de VS 2010 en donde hablaban de Entity Framework pero no me quedó muy claro la verdad. Entonces ps tu proyecto usa LINQ to SQL. Basciamente cual es la principal diferencia entre: linq to sql y entity framework.??

     

    Saludos

    sábado, 24 de julio de 2010 4:02
  • hola

    creo mi función en la capa de acceso a datos y sólo lo tendría que llamar ese SP verdad?

    asi es

    Pero si por ejemplo yo tengo mi archivo .mdf en mi proyecto y creo mi SP dentro de mi proyecto, en mi archivo .mdf, como puedo contextualizar ese procedimiento almacenado a mi proyecto???

    que uses un mdf o que el mdf este dentro del servicio de sql server es lo mismo, el SP estara dentro de tu base de datos y tu lo invocas con un command de ado.net

    que no te confunda el uso del mdf o no con las capas de tu aplicacion

    O que es preferible, que mi proyecto no tenga dentro de su contenido un archivo .mdf. O trabajar todo lo de bases de datos directamente con SQL server.

    depende eso como quieras trabajarlo, no afectaria a las separacion en capas, o al menos no deberia afectarlo

    Entonces ps tu proyecto usa LINQ to SQL. Basciamente cual es la principal diferencia entre: linq to sql y entity framework.??

    los ejmeplos de los link que puse ninguno usa Linq to Sql

    la diferencia es que Entity Framework es un ORM en cambio el otro no

    si vas a usar uno de ellos te recomendaria que sea Entity Framework ya que este sera el reemplzazo de Linq to Sql, segun tengo entendido en futuras versiones lo discontinuan a Linq to Sql, por las dudas no me ariesgaria a usarlo cuando se sabe que el futuro es Entity Framework

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 24 de julio de 2010 22:30
  • O.k q pena la ignorancia, entonces, tu usas entity framework verdad??
    domingo, 25 de julio de 2010 4:45
  • tu usas entity framework verdad??

    en los articulos que arme en el blog ninguno usa Entity Framework

    si lo estoy usando, no mucho, pero para otros desarrollos donde trabajo, pero no arme ningun ejemplo aun con este framework en el blog

    es que vi que hay tanto webcast y material ya disponible que no vi la necesidad de publicar mas material sobre el tema

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 25 de julio de 2010 4:55
  • O.k gracias de nuevo
    domingo, 25 de julio de 2010 22:51