Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 24-01-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.439
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Tema interesante, pero muy extenso.
Tal vez deberías ser un poco más concreto.

Por ejemplo, lo primero que me llama la atención es:
Cita:
Empezado por Jvilomar
...tengo unas clases TClientes, TApartamentos y TVehiculos siendo Tclientes mi ClaseBase y TApartamentos y TVehiculos heredan de esta...
Tal vez como prueba esté bien; Pero no acabo de ver claro que los vehículos y los apartamente deriven de los clientes...

Siguiendo con la pregunta...

Yo en éstos casos distingo dos partes, la parte visual y lo que es el modelo de negocio (las Clases TCliente, TVehículo,...) y los programo por separado.

Mi primera recomendación es que crees una clase base (TClaseBase, por ejemplo) de la cual deriven todas (y que sea abstyracta, es decir, que no tenga lógica de negocio, por lo tanto TCliente no sirve como clase base...), y en esa clase añadas los métodos que vas a necesitar; Por ejemplo, Grabar, Recuperar, Clonal, Limpiar, Crear, Destruir, Buscar, refrescar,...
Los que haga falta que sean virtuales y/o abstractos los defines como tales.
Eso te dará una idea y te obligará a formar un modelo de tus clases de negocio.

Lo segundo (que no comentas) es cómo vas a mapear las clases en Base de Datos. Que es otra cosa importante que debes tener claro. Hay varias estratégias; Debes decidir cual quieres. Las más comunes son (basándome en el ejemplo de que TApartamento deriva de TCliente):
* Tabla TblCliente con los campos de la clase TCliente y TblApartamento con los campos de TCliente y TApartamento.
* Tabla TblCliente con los campos de la clase TCliente y TblApartamento con los campos de TApartamento que no están en TCliente.

Si busca documentación sobre ésto (Scott Ambler es referencia obligatoria) encontrarás las ventajas/inconvenientes de cada modelo.
http://www.agiledata.org/essays/mappingObjects.html
http://www.agiledata.org/essays/umlD...ngProfile.html
http://www.service-architecture.com/...to_tables.html

http://www.agiledata.org/essays/mapp...ingInheritance

A partir de ahí y con ésta decisión puedes comenzar a implementar métodos básicos; Por ejemplo un buen comienzo es el Insert de una Clase. Si te lo "curras" un poco podrás hacer por ejemplo que el TBaseClase.Insert() te haga los INSERT de todas lasa clases sin necesidad de Redefinirlo (ahí está la potencia de la herencia).

...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 24-01-2006 a las 14:14:26.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Llenado de Base de datos Luis Castillo Firebird e Interbase 1 16-01-2006 20:52:36
Copiar una tabla a otra base de datos noe Firebird e Interbase 4 09-03-2005 17:37:47
Problemas al conectar una tabla ADO a una base de datos de Access que posee contraseñ Roger_Fernandez Conexión con bases de datos 5 28-02-2005 16:46:29
Diseño de la Base de Datos gluglu Conexión con bases de datos 7 09-02-2005 18:04:54
¿Siempre hay que poner la ruta completa de la base de datos que está en el servidor? Al González Firebird e Interbase 2 12-05-2004 22:06:25


La franja horaria es GMT +2. Ahora son las 20:34:09.


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