Foros del Web » Programación para mayores de 30 ;) » .NET »

[ C# ] DAL, BLL y Herencia ¿ Relación de parentesco ?

Estas en el tema de [ C# ] DAL, BLL y Herencia ¿ Relación de parentesco ? en el foro de .NET en Foros del Web. Hola gente, estoy dandole un poco a C# estos días. Suponiendo una estructura como la de la siguiente solución: Cita: Solución: "nTier" Proyectos: "DAL" (Data ...
  #1 (permalink)  
Antiguo 29/09/2008, 04:44
 
Fecha de Ingreso: agosto-2008
Mensajes: 21
Antigüedad: 15 años, 8 meses
Puntos: 0
[ C# ] DAL, BLL y Herencia ¿ Relación de parentesco ?

Hola gente, estoy dandole un poco a C# estos días. Suponiendo una estructura como la de la siguiente solución:

Cita:
Solución:
"nTier"
Proyectos:
"DAL" (Data Access Layer)
DB.cs (Conecta a la base de datos)
Usuario.cs (Hace de entidad de un Usuario)
"BLL" (Bussiness Logic Layer)
Usuario.cs (Lógica para la entidad de un Usuario)
"PL" (Presentation Layer)
Usuario.cs (Formulario para un Usuario)
[/INDENT]
Entonces, en una arquitectura nTier, en un programa de 3 capas...
La capa de presentación no debería tener acceso directo a la capa de datos. Pero de alguna forma debemos pasar esos datos entre las capas.

He presupuesto las referencias/dependencias de los proyectos. PL -> BLL -> DAL

Entonces, yo podría leer las propiedades de la entidad "DAL.Usuario" desde "BLL.Usuario" y "PL.Usuario" recibirlas de esta última capa.

PERO... se me ocurren dos formas de hacerlo. Y cuestiono la validez de hacerlo por herencia.

Si "BLL.Usuario" heredase de "DAL.Usuario", podría reemplazar las variables de la clase hija por las de la clase padre... De forma que las propiedades de "BLL.Usuario" obtendrían directamente los valores de las propiedades de "DAL.Usuario".

PERO... ¿ Es esto conceptualmente correcto. Habría relación de parentesco entre esas dos clases ?

SINÓ... Se me ocurre que se podría hacer simplemente haciendo metodos que asignen debidamente las propiedades de una capa a otra.

Espero haberme explicado correctamente y que se entienda. Me gustaría saber vuestra opinión. Y si plantearíais la forma de trabajar con 3 capas de otra forma que a lo mejor yo por ignorancia/desconocimiento ni contemplo.

Gracias a todos !!!!!!!!!!

Última edición por Electrify; 29/09/2008 a las 04:46 Razón: Me dejé una palabrilla... xD
  #2 (permalink)  
Antiguo 30/09/2008, 07:30
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: [ C# ] DAL, BLL y Herencia ¿ Relación de parentesco ?

Hola Electrify yo trabajo con 3 capas, Presentacion, Negocios y Datos y si, efectivamente Negocios no se comunica directamente con datos solo lo hace por medio de Negocios, es decir, Presentacion se comunica con Negocios y Negocios con Datos.

Yo las comunico por medio de referencias.

Saludos.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #3 (permalink)  
Antiguo 30/09/2008, 15:19
 
Fecha de Ingreso: agosto-2008
Mensajes: 21
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: [ C# ] DAL, BLL y Herencia ¿ Relación de parentesco ?

Entiendo, Gracias por la respuesta.

¿ y como haces para pasar los datos, entre capas ? Quiero decir: Que aunque haya enlace entre las capas mediante las referencias. Las clases por defecto son privadas si no me equivoco. Y lo son por algo. Si yo quisiera tener visibilidad de algun miembro de la capa DAL ( Data Access Layer ) desde BLL ( Bussiness Logic Layer ) ¿ no necesitaría obligatoriamente que las clases que contengan esos miembros sean publicas ? Esa práctica no me parece muy ortodoxa.

¿ O se me escapa algo ? Si es así me encantaría saberlo ; )

Gracias de nuevo

Última edición por Electrify; 30/09/2008 a las 19:00 Razón: Currarme más la respuesta y preguntar otra duda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:26.