Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Programación orientada a objetos + Aplicacion Ejemplo (https://www.clubdelphi.com/foros/showthread.php?t=83442)

pape19 18-06-2013 16:54:15

Programación orientada a objetos + Aplicacion Ejemplo
 
Buenos días.

Ya hice varias aplicaciones en Delphi, y siempre me he sentido muy cómodo por ciertas facilidades que ofrece su IDE.

Ahora, tengo que presentar mi tesis final de la carrera en la facultad, por lo que me he decidido por una aplicación, que incluye bastantes funcionalidades, y me va a resultar muy extensa.

Asi que he decidido, utilizar clases, herencia, y programar acercándome lo que más pueda a un paradigma de programación orientada a objetos puro.

Mi versión es la XE3 + Firebird 2.1.

Empezando con mi proyecto, me encuentro con varias dudas propias de la aplicación del paradigma a Delphi.

Necesitaría algun ejemplo de un ABM, desarrollado de esta manera(con controles en metodos de las clases), ya que me han surgido varias dudas.

Neftali [Germán.Estévez] 19-06-2013 10:40:27

Cita:

Empezado por pape19 (Mensaje 462398)
Empezando con mi proyecto, me encuentro con varias dudas propias de la aplicación del paradigma a Delphi.

¿Y cuales son esas dudas?
Si nos las planteas tal vez podamos ayudarte...

Cita:

Empezado por pape19 (Mensaje 462398)
...desarrollado de esta manera(con controles en metodos de las clases)

Por otro lado, esto no me queda claro. ¿A qué te refieres con "controles en métodos de las clases"?

pape19 19-06-2013 13:49:09

Cuando me refiero a "controles en métodos de las clases", lo que quiero decir es que por ejemplo, para validar un usuario, no hago el control en el botón "Aceptar" del Form como siempre venía haciendo, sino que tengo una clase Usuarios, con un método EsValido, que realiza este control.

Con respecto a las dudas...poniendo como ejemplo un ABM de Usuarios justamente.

Lo primero es, utilizando las IBTable, con DBEdits en el form, con un "insert", un "post" y luego un Commit, es suficiente para generar el alta. Pero si creo una instancia de la clase como sería? Teniendo Edit's comunes en el form, asigno lo ingresado en los mismos a las propiedades del objeto; y con el objeto "lleno", como lo guardo en la BD? Otra vez campo por campo?

Si esto es asi, como puedo organizarlo mejor? es decir, en que momento, o luego de que eventos realizar tales cosas.

Es por eso que pedía una aplicación ejemplo, se que es difícil explicar todo esto en un hilo.

Muchas gracias

Neftali [Germán.Estévez] 19-06-2013 14:06:46

Cita:

Empezado por pape19 (Mensaje 462438)
Cuando me refiero a "controles en métodos de las clases", lo que quiero decir es que por ejemplo, para validar un usuario, no hago el control en el botón "Aceptar" del Form como siempre venía haciendo, sino que tengo una clase Usuarios, con un método EsValido, que realiza este control.

Ahora sí está más claro.
Puedes revisar estos links:
Accessing an Object and its Data - Delphi OOP Part 4: Capítulo 8, capitulo 9 y capitulo 10.

Cita:

Empezado por pape19 (Mensaje 462438)
Lo primero es, utilizando las IBTable, con DBEdits en el form, con un "insert", un "post" y luego un Commit, es suficiente para generar el alta. Pero si creo una instancia de la clase como sería? Teniendo Edit's comunes en el form, asigno lo ingresado en los mismos a las propiedades del objeto; y con el objeto "lleno", como lo guardo en la BD? Otra vez campo por campo?

En ese caso, tus clases deberían tener el código necesario para realizar las operaciones necesarias sobre Base de Datos; Recuperar un elemento (SELECT), insertar un elemento nuevo (INSERT), modificarlo (UPDATE) y borrarlo (DELETE). Lo más sencillo uinicialmente es que tus clases utilicen SQL para las operaciones.
Como segundo paso, puedes hacer que todos tus objetos deriven de un objeto "base" que te facilite realizar operaciones sobre la Base de Datos.

pape19 19-06-2013 14:13:06

A ver que sale. Cualquier cosa vuelvo aquí.

Muchas gracias Neftali, siempre presente.


La franja horaria es GMT +2. Ahora son las 10:19:35.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi