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

Estilos de Programación

Estas en el tema de Estilos de Programación en el foro de .NET en Foros del Web. Estimados, Me gustaría que comentaran sus experiencias y opiniones sobre el siguiente enfoque de programación: Problema: Se debe diseñar un software que grabe en dos ...
  #1 (permalink)  
Antiguo 26/04/2011, 12:55
 
Fecha de Ingreso: mayo-2008
Mensajes: 40
Antigüedad: 15 años, 11 meses
Puntos: 3
Estilos de Programación

Estimados,

Me gustaría que comentaran sus experiencias y opiniones sobre el siguiente enfoque de programación:

Problema:
Se debe diseñar un software que grabe en dos tablas docto y doctod, las cuales guardan el encabezado y detalle de una factura respectivamente.



Solución:
1.- Se diseña una clase que es la encargada de establecer la comunicación con la BD. También implementa un sistema que permite que solo usuarios registrados en el sistema que la utiliza puedan tener acceso a ella. Además ofrece servicios para determinar la empresa, usuario y otros datos útiles que utilizó el usuario al momento de logearse al sistema.

2.- Se diseñan dos clases, clsDocto y clsDoctoD, las cuales tienen los metodos LOAD y SAVE, que permiten guardar, actualizar o leer una factura determinada. Estas clases además tienen tantas propiedades como columnas tenga la tabla que representa. De esta manera, clsDocto tiene los campos numero, iva, total, etc; mientras que clsDoctoD tiene los campos precio_unitario, descuento, total_detalle, etc.

Adicionalmente, las llamadas SAVE, LOAD, etc; implementan directamente en esta clase las sentencias SQL. De este modo, clsDocto tiene en el metodo SAVE() una variable string con el codigo "insert into ...".

Esto me permite desde mi interfaz simplemente decir
clsDocto.numero = 3
clsDocto.total = 30000
clsDocto.save()



Comentario
En lo personal me gusta mucho esta forma de trabajar, pero me he puesto a cuestionar que este enfoque no cumple con el estandar de las tres capas, ya que mezclo la DAL con mi BLL.

Lamento si me extendí demasiado, pero realmente apreciaría que comentaran si consideran viable o no programar de esta manera. En cierta forma lo que pretendo hacer es una especie de framework que permita que la elaboracion de nuevas interfaces solo implementen las clases ya mencionadas.

En fin, quedo atento a sus comentarios
  #2 (permalink)  
Antiguo 27/04/2011, 04:19
 
Fecha de Ingreso: enero-2008
Mensajes: 201
Antigüedad: 16 años, 3 meses
Puntos: 39
Respuesta: Estilos de Programación

Tal y como está descrita la solución sin ser muy exigentes se puede decir que son 3 capas. Lo único que yo cambiaría para que fuese estrictamente 3 capas es que las instrucciones SQL que se escriben en el punto 2 se escriban en el punto 1. Pero eso requiere mayor esfuerzo al programar, esfuerzo que puede no ser rentable si después no reutilizas esa clase de comunicación con la BD en el resto de proyectos que realices.
  #3 (permalink)  
Antiguo 27/04/2011, 07:20
 
Fecha de Ingreso: mayo-2008
Mensajes: 40
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Estilos de Programación

Ocurre que ayer navegando por internet, encontré un tutorial en el cual explica como hacer tu DAL con dataset fuertemente typeados.

Y bueno, mi solución funciona. De eso no tengo dudas. Pero en este instante quiero encontrar mi estilo de programación. Y siempre me tentó la idea de generar una capa de abstracción suficiente que permita simplificar todas las tareas futuras. De hecho, no se si lo logré o no, pero intenté desarrollar un framework de la forma ya descrita.

¿Alguien sabe de literatura sobre este tema?
  #4 (permalink)  
Antiguo 27/04/2011, 07:45
 
Fecha de Ingreso: enero-2008
Mensajes: 201
Antigüedad: 16 años, 3 meses
Puntos: 39
Respuesta: Estilos de Programación

Si quieres generar esa capa de abstracción, el tutorial que encontraste del dataset typeado sería la solución perfecta (no se que tutorial es, pero si se que el dataset con tipo es la mejor opción), pero no sería generar solo una clase, tendrías que generar al menos dos. Una que sea específica para la base de datos (de estas tendrías que tener una por cada SGBD que fueses a utilizar) y una clase por encima de esa que abstraiga el SGBD.

Ahora para ahorrarte trabajo... en .NET todo eso ya se implementa, ya está hecho, solo tienes que aprender a usarlo porque la verdad que es un poco complicado y lioso.

Etiquetas: visual
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 17:04.