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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-06-2007
faraonDX faraonDX is offline
Miembro
 
Registrado: jun 2007
Posts: 24
Poder: 0
faraonDX Va por buen camino
Hola delphius, permiteme decirte que me estás aportando ideas, y te lo agradesco mucho, de todas formas voy a tratar de cambiar la tónica y basarme un poco en ejemplos prácticos:
se desea hacer un sistema para controlar datos en una agencia, de los autos se tiene (ID, modelo , marca).

Según los que veo en este ejemplo hay dos clases que están presentes: TAgencia y TAuto, y la relación que existe entre ellas es la agregación.

Ahora bien en un proyecto en delphi debo utlizar otros elemetos que me aporta el mismo, como el datamodule en el cual se insertan: Conexion,Query, Table , (datasourse). Por lo menos el datamodule genera una clase en una Unit en la que se pueden implementar diferentes métodos.

La realidad a mi modo de ver es, que para este problema si yo quiciera desarrollarlo rápido ignoraría las clases TAgencia y TAuto y realizaría la relación (Dataware - DataSource - Table) y ya resuelvo el problema, pero si he realizado un diseño OO entonces necesito que los controles Dataware hagan uso de los métodos de TAuto (por ejemplo) y A la vez TAuto haga uso de DataModule , que pinta entonces el Datasource.

Puedes ver un ejemplo sencillo y quizas me entiendas un mejor si visitas el articulo que se encuentra: http://www.rinconcitodelphi.com/arti...PenDelphi1.pdf

Espero que entiendas este problema y que aclare las preguntas que me hiciste como:
Cita:
Empezado por Delphius
¿A que te refieres a que no te gusta el modo en que se relacionan los componetes? Es la manera en que se trabja en Delphi. ¡Los dataware deben estar ligados a las fuentes de datos para funcionar!
Cita:
Empezado por Delphius
¿A que haces referencia cuando dices en relacion con los elementos de la intefaz de usuario?
En realidad quise decir eso:
Cita:
Empezado por Delphius
Pero si lo mejor estimada y precisa posible.
Espero que tambien el problema que puse arriba, te explique mis dudas.
y me puedas argumentar un poco ¿Como ese problema se ve involucrado en:?

Cita:
Empezado por Delphius
----------------------------------------------------------------------
Capa Interfaz:
Zona 1: controles simples - Zona 2: controles dataware
----------------------------------------------------------------------
Capa Lógica:
Zona 1: Tu diseño lógico: Clases - Zona 2: Datasource
----------------------------------------------------------------------
Capa Datos:
Zona 1: Datamodule, xxDataBase, Table, etc...
----------------------------------------------------------------------
Permiteme decirte que en la medida que voy redactando el texto me voy dando cuenta de muchas cosas, creo que casi estoy dando con el clavo.

Disculpa si estoy pidiendo mucho.
Gracias.
Responder Con Cita
  #2  
Antiguo 17-06-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Hola, en estos momentos estoy a 185 kms de mi PC, y aquí la conexión deja mucho que desear.

No tengo Delphi. Es que estoy pasando el fin de semana fuera, en familia y mañana es el día del padre (Argentina) y se me hará dificil ver lo que me comentas.

Si puedes esperar hasta el martes o miercoles...
O de última espero que alguien más pueda aportarte mejores respuestas.

Saludos.
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 19-06-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
O el amigo faraonDX está muy ocupado, o se a asustado por comentarios.

faraonDX, por si lees esto...
Ya me he descargado el pdf y le dí una primera leída entera. El artículo es demasiado breve y deja al final cosas en el aire... pero creo entender lo que buscas.

Igualmente sería muy recomendable que profundices mucho más tus inquietudes. Cuando más certera y descriptiva sea tu pregunta más fácil será canalizar la respuesta.

Dame un tiempo, estoy armando una respuesta. Estoy repasando y reevaluando algunos conceptos y diseño.

Creo que sería más enriquecedor que otros miembros más experimentados ofrezcan también su punto de vista en el asunto. No te cierres a una sola respuesta, sobre todo si es mía.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #4  
Antiguo 19-06-2007
faraonDX faraonDX is offline
Miembro
 
Registrado: jun 2007
Posts: 24
Poder: 0
faraonDX Va por buen camino
Exclamation

Hola delphius.

Nooo no estoy perdido ni estoy asustado por nada.
Lo que pasa es que estaba esperando alguna respuesta tuya. Permiteme decite que estoy tambien dandole taller al problema y es que soy muy insistente y hasta que no doy con la verdad no estoy tranquilo, he analizado tus respuestas anteriores y estoy desarrollando prototipos de ejemplo. Para ver si aterrizo los conocimientos.

La verdad es que me he estudiando algunos libros referente al tema, que tienen mucha teoría pero una cosa es la teoría y otra es la práctica, llevar un diseño a la implementación requiere de experiencia , pienso yo. Mi problema gira en torno a eso, pués los sistemas que he desarrollado anteriormente lo he realizado de forma estructurada sin tener un diseño OO para otros problemas que no requiere de persistencia no tengo problema. Pero en las bases de datos me choca la relación:
(table - datasource - data-aware) que resuleve el problema sin tener que definir clases y objetos.


Para mi no tiene sentido establecer una relación nueva como:
Table - Tentidad(Objeto definido) - Data-aware, según los principios de diseño la capa de presentación debe comunicarse con la capa lógica y no directamente con la capa de datos(persistencia). Eso lo explicaste bien en comentarios anteriores, pero en este caso se rompe, a mi manera de ver el enlace: (table - datasource - data-aware).

He tratado de ser lo más explicito posible pero ha veces es dificil trasmitir esactamente los que quiero.

Tambien espero que sea probechoso para ti debatir este tema como lo está haciendo para mi, pués si hay algo de lo que aprendo es de los debates.

Saludos de faraonDX.
Responder Con Cita
  #5  
Antiguo 20-06-2007
faraonDX faraonDX is offline
Miembro
 
Registrado: jun 2007
Posts: 24
Poder: 0
faraonDX Va por buen camino
Delphius, ahora es ud el que no da señales de vida. JJAAA vamos tu no eres tan callado.

Estoy trabajando, Estoy consultando algunos tutoriales y ejemplos que he visto en internet para ver si me puedo explicar mejor todavia, auque en uno de los ultimos mensajes me dijiste que habías bajado el articulo que viene un ejemplo si analizas este caso te daras cuento de lo que estoy hablando, he visto en otros post que le das un especial interes al (analisis - diseño), de todas forma no tengo apuro cuando pudas dar una respuesta las das, estoy tambien pensando en crear otros hilos que tienen que ver con este tema, hice otro de ModelMaker, me gustaría que tambien opinaras al respecto.

Nos Vemos....
Responder Con Cita
  #6  
Antiguo 20-06-2007
faraonDX faraonDX is offline
Miembro
 
Registrado: jun 2007
Posts: 24
Poder: 0
faraonDX Va por buen camino
Delphius, ahora es ud el que no da señales de vida. JJAAA vamos tu no eres tan callado.

Estoy trabajando, Estoy consultando algunos tutoriales y ejemplos que he visto en internet para ver si me puedo explicar mejor todavia, auque en uno de los ultimos mensajes me dijiste que habías bajado el articulo que viene un ejemplo si analizas este caso te daras cuento de lo que estoy hablando, he visto en otros post que le das un especial interes al (analisis - diseño), de todas forma no tengo apuro cuando pudas dar una respuesta las das, estoy tambien pensando en crear otros hilos que tienen que ver con este tema, hice otro de ModelMaker, me gustaría que tambien opinaras al respecto.

Nos Vemos....
Responder Con Cita
  #7  
Antiguo 20-06-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Hola FaraonDX, disculpa... por mi ausencia.

Leí el artículo una y otra vez... y cuando leo y repaso mi percepción sobre el asunto, se me hace una ensalada y no me termino de convencer.

Yo estoy haciendo algo parecido a lo que dice el artículo. Aunque me llama mucho la atención lo de udmAuto y udmGeneral. Eso no termino de comprender. Yo estoy explorando el territorio de la base de datos con Delphi a medida que me hace falta para continuar con mi trabajo. Una formación y conocimientos expertos en el área no tengo.

Yo hago esto: mi capa lógica está divida en dos apartados: una sección a la que denomino API (que está constituída por funciones y estructuras de datos sencillas) y otra sección compuesta por clases. Las clases hacen uso de dichas API si es necesario.

La idea y percepción de la comunicación con las otras capas es empleando los eventos de componentes abstractos: DataSource, etc...
Y lo que estaba tratando de explicar es que los objetos creados operan con los datos, los transforman. Cuando se es necesario, al objeto se le envian los datos necesarios.

Luego esos datos deben ser devueltos ya sea a la capa de interfaz o la de datos. En este punto mi visión y modelo no logra explicar como hacerlo... y es aquí donde me he quedado trabado.

Lo que yo trato de hacer es separar las clases y la invasión de datos. Para mi las clases deben trabajar y transformar los datos.

En cuanto al diagrama que está en el documento, es (a mi entender) que las mismas clases cuentan entre sus propiedades controles para el acceso a los datos (un datamodule). Y es gracias a ello que cuando se invocan a los eventos se pasan los datos a las clases.

Es cierto que el uso de los controles dataware ahorra mucho dolores de cabeza (y ahora estoy entendiendo porqué). Pero me está convenciendo la idea de que los componentes dataware + POO no es aconsejable para un sistema que está pensado para ser escalable y que necesitará de mantenimiento y que sea complejo.

Para un sistema sencillo, y en el cual se sabe de antemano que no requerirá de ampliaciones, migraciones.... lo más económico es usar controles dataware.

Recuerdo haber visto unos hilos (hace ya mucho tiempo) con ejemplos de "POO+DB" Los he estado buscando pero al parecer fueron extraviados en aquella rotura del disco del servidor que sufrio clubdelphi. Recuerdo haber visto que entre sus propiedades contaban con elementos query.

Creía y daba por sentado que entendía bien el asunto... ya veo que tener los planos es distinto que codificarlos.

Lamento no poder ayudar demasiado. El asunto quedó igual.
Estoy tratando de unir lo que dice el documento con lo que leí en la Cara Oculta...

Si un mejor entendido del tema pasa por aquí, nos puede refrescar la memoria a ambos.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #8  
Antiguo 21-06-2007
faraonDX faraonDX is offline
Miembro
 
Registrado: jun 2007
Posts: 24
Poder: 0
faraonDX Va por buen camino
Arquitectura en código (BD)

Ohh que bueno que sigues en contacto.

Veo que ya entendiste esactamente el problema. Leí atentamente el comentario que hiciste anteriormente y estoy de acuerdo totalmente, al parecer tengo el mismo problema cuando expresaste:

Cita:
Es cierto que el uso de los controles dataware ahorra mucho dolores de cabeza (y ahora estoy entendiendo porqué). Pero me está convenciendo la idea de que los componentes dataware + POO no es aconsejable para un sistema que está pensado para ser escalable y que necesitará de mantenimiento y que sea complejo.
Esto lo leí en un curso que habla más o menos del tema, no esactamente:

Código PHP:
El paradigma de objeto de negocios es muy útilpero nos ocasiona muchos problemas que Delphi ya había solucionado en cuanto a la programación de base de datosEl diseño de los objetos de negocios en sí totalmente ignora el concepto del DataSety con ellolos controles data-awareEsto quiere decir queen una implementación "pura" de un objeto de negociosusted deberá de 1utilizar controles normales y escribir una gran cantidad de código de infraestructurao 2crear su propio descendiente de TDataSet que funcione con cada uno de sus objetos de negocios
De todas forma yo sigo tratando de descubrir la verdad. Espero que no te des por vencido y sigas investigando como lo estoy haciendo yo, cualquier comentario que que emitas según tus análisis , por favor escribelos pués son utiles.

Tambien pienso que deben participar otras personas del club. Yo voy a tratar de convocar a otras personas, a ver si se le saca probecho.

Saludos.
Responder Con Cita
Respuesta


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
Sistema TPV con codigo abierto, si es posible Rabata Varios 1 01-02-2006 14:06:08
Arquitectura de un soft con BD adlfv Conexión con bases de datos 1 19-05-2005 18:52:07
Desplegar por código el menú de sistema de una ventana Jan_polero API de Windows 7 06-05-2005 12:35:25
Sun confirma el proyecto de sistema operativo de código abierto 'OpenSolaris' marcoszorrilla Noticias 0 25-01-2005 22:04:10
Sobre Arquitectura De Bd ghost Firebird e Interbase 0 13-10-2004 01:16:51


La franja horaria es GMT +2. Ahora son las 16:40:06.


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