elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Píldoras formativas en seguridad de la información


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Realmente tengo que usar clases cuando puedo simplemente usar Querys?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Realmente tengo que usar clases cuando puedo simplemente usar Querys?  (Leído 2,246 veces)
Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Realmente tengo que usar clases cuando puedo simplemente usar Querys?
« en: 26 Noviembre 2011, 16:52 »

Tengo que hacer un programa con las siguientes características:
Citar
El sistema permitirá crear un listado de invitados, el cual será consultado por el portero cada vez que llegue una persona, puede éste buscar a los invitados por nombre o por apellido. Una vez finalizado el evento, podrá extraerse información estadística acerca de la asistencia al evento.

Las identidades u objetos que he identificado son Usuario (que podría una clase de la que hereden Administraador y Portero o podrían crear se por separados), Eventos, Invitados, una clase para la conexion a base de datos y la parte gráfica.

Bueno, el problema es que realmente no sé para qué me servirá crear clases Portero, Administrador, Eventos e Invitados. Porque todo eso lo puedo hacer directamente con la Base de datos. Me explico: si tengo que insertar un nuevo invitado, en el programa lleno los campos (nombre, apellido, telefono, etc) y cuando le de al boton Insertar, por ejemplo, entonces el evento llama al método para insertar en la base de datos obteniendo los datos de los textfield con .getText(), lo mismo cuando tenga que marcar un invitado que llegue y lo mismo para eliminar o modificar invitados y eventos.

Entonces, realmente necesito crear clases invitados, eventos y usuarios? para qué servirían?


« Última modificación: 26 Noviembre 2011, 20:21 por Aikanáro Anário » En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
sapito169


Desconectado Desconectado

Mensajes: 587



Ver Perfil
Re: Realmente tengo que usar clases cuando puedo simplemente usar Querys?
« Respuesta #1 en: 27 Noviembre 2011, 00:38 »

La respuesta es sí y no

Tienes razón no servirían de mucho para este ejemplo y específicamente ese es el problema que no ves más allá del problema especifico : huh:

bueno te explico cuando alguien ve tu trabajo debe ser auto documentado si tu proyecto necesita de manera urgente documentación y necesita de manera urgente comentarios o que alguien te explique cómo funciona entonces significa que has hecho un mal trabajo y que as fracasado (si ya se soy muy perfeccionista) aunque funcione ese es mi punto de vista

Si alguien quiere saber de qué trata tu programa se preguntara que clases de dominio tienes pues simplemente vería el paquete que se llama dominio (no es obvio) y si alguien quiere saber dónde está la lógica del portero pues buscaría en el lugar menos pensado la clase portero  :xD y si alguien quisiera ver como son tus vistas pues o sorpresa tendrías un paquete vista y si alguien quisiera usar el formulario principal o sorpresa tienes la clase FrmPrincipal en el paquete vista


en tu caso tiene muy poco sentido por ser un problema trivial igual si quisieras ver que clases tienes pues siempre es casi idéntico que tus tablas las podrías ver en el ide de tu base de datos o en un conjunto de papeles sin sentido que te obligan a ser por costumbres que en el 20 por ciento de las veces es util y que jamás esta actualizado esos papelitos son conocidos como documentación consiste en una serie de dibujitos de monigotes y cajitas con un grado de detalle donde explican asta el ultimo if de tu aplicación con los monigotes y cajitas a esos papelitos se les conoces como binladen (todos an oido hablar de el pero nadie sabe donde esta) cuando por fin logran encontrarlo te das con la sorpresa de que es la versión del anteaño pasado


otro punto es que en tu caso tan simples como estos la mitad de tus clases no harían nada y solo tendrían getters y settes algunos asta se burlan y dicen que mejor pongas todo public(ese es tema para otro flame war)  :xD

bueno seguro estas pensando que te recomendaría que lo isieras a la mala sin clases ni nada es mas como supongo que eres principiante te demorarias muchisimo diseñando tus clases y tratando de entender como es eso de la oo pero yo te recomiendo que lo hicieras por lo que te conte de el codigo auto documentado recuerda que los sistemas crecen y evolucionan que no vas a ser el único que va a ver el código que es una manera de trabajar ya probada y que da buenos resultados y que todo el mundo con experiencia muy básica lo conocen recuerda que no todas tus clases van a ser como la del portero que solo tendría gettes y settes que luego habrían un montón de clases que no sean idénticas a tus tablas también recuerda que potencialmente tus clases podrían realizar acciones en tu caso no se luce pero en otros casos si  como en el caso de una clase factura tendría encapsulada el comportamiento para obtener cuanto es el monto total e impuesto encapsulada dentro de esa clase y no lo tendrías esos comportamientos desperdigados en 100 lugares diferentes por todo el código(todo ayudado por el maldito copia and paste que luego haría imposible optimización y mejoras)

otro tema es que no tienes asco para mostrar las entrañas de tu sistema por todas partes y no te preocupas del código duplicado tendrías tu sql como cadena(jamas uses cadenas son horribles no son type safe no hay ayuda del ide son propensas a errores) repetida por todas partes lo cual haría tu código difícil de entender digamos que quieres optimizar como realisas una consulta simplemente no se podría por que esa consulta estaría como cadena por todas partes(abusando del copy and paste) luego que pasa si quieres realizar una acción después o antes de hacer una consulta especifica pues no podrías por que esta desperdigada por 100 lugares diferentes

qué pasa si descubres que tu base de datos no es la mas adecuada para tus necesidades pues simplemente la cambias pero o sorpresa como esta como cadena por todas partes te das con la ingrata sorpresa que algunas consultas fallan por que no te diste cuenta de que algunas consultas varían de base de datos a base de datos y luego para corregirlo pues no puedes a menos que te pongas a verificar en los 100 lugares y comprobar una por caso por caso


« Última modificación: 27 Noviembre 2011, 03:02 por sapito169 » En línea

Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Re: Realmente tengo que usar clases cuando puedo simplemente usar Querys?
« Respuesta #2 en: 27 Noviembre 2011, 01:20 »

Gracias por tu respuesta.

Entonces qué utilidad podría dar a esas clases?
En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
sapito169


Desconectado Desconectado

Mensajes: 587



Ver Perfil
Re: Realmente tengo que usar clases cuando puedo simplemente usar Querys?
« Respuesta #3 en: 27 Noviembre 2011, 01:54 »

La utilidad seria auto documentación y facilidad de seguir evolucionando
En realidad la mitad de las clases solo serian gettes y setters y solo por ahora no harían prácticamente nada después serian extremadamente útiles
Vas a ver la utilidad cuando crezca el sistema y le agregues mas funcionalidad luego todos los comportamientos que tengan tus clases (que por ahora no hacen prácticamente nada)van a estar armoniosamente clasificadas y ordenadas dentro de cada clase que le corresponda
Créeme van a ver mas clases de las que te estas imaginando y se va a complicar mas de lo que quieras y además si logras hacer un buen trabajo el usuario le va a gustar mas y te va a pedir que le agregues más cosas más reportes mas ventanas y a la larga vas a ganar tener un proyecto ordenado

« Última modificación: 27 Noviembre 2011, 02:20 por sapito169 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Usar Clases?
Foro Libre
Erik# 3 1,338 Último mensaje 4 Junio 2011, 17:48
por anonimo12121
Ayuda con opensuse no puedo usar zypper ni yast
GNU/Linux
CATBro 3 1,815 Último mensaje 27 Abril 2012, 09:28
por Slava_TZD
¿Qué método usar para WLAN_XXXX cuando no sale con el algoritmo?
Hacking Wireless
ullu 3 2,100 Último mensaje 29 Abril 2012, 17:28
por alex2424
Puedo usar metasploit en android sin usar linux?
Dudas Generales
Ckey 0 1,140 Último mensaje 11 Mayo 2017, 21:17
por Ckey
Usar este VPN es peor que no usar ninguno
Noticias
wolfbcn 0 142 Último mensaje 15 Noviembre 2019, 14:44
por wolfbcn
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines