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 14-06-2007
faraonDX faraonDX is offline
Miembro
 
Registrado: jun 2007
Posts: 24
Poder: 0
faraonDX Va por buen camino
construyendo piramides


Me alegra mucho que hallas, respondido a mis interrogantes, he visto algunos comentarios tuyos en diferentes temas y estoy de acuerdo en casi todos. En realidad tambien pienso que antes de escribir una linea de código hay que tener claro la idea esacta de como quedará el sistema, proyectando una arquitectura en la cual se apliquen los diferentes patrones de diseño, es presisamente esto lo que nos permite tener una mayor reusablidad del código y un facil mantenimiento del sistema.

De todas formas todavia me queda la duda de los controles dataware, comentaba anteriormente sobre el modelo de tres capas los controles dataware a mi juicio pertenecen a la capa de interfaz, estos a la hora de implementar un sistema se relacionan con el datasource que pertenece a la capa lógica y los componentes dataset(adotable) pertenece a la capa de datos, por la relación anterior es que me imagino, "a lo mejor estoy equibocado" despues de un diseño OO no podría o mejor dicho no me sería factible utilizar este tipo de relación entre componentes, ya que los objetos que diseño son los que deben estar en relación con los elementos de la interfaz de usuario.


Gracias por acudir a mis interrogantes espero que sigas comentando sobre este tema.
Responder Con Cita
  #2  
Antiguo 15-06-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
¿Es esto a lo que te refieres?

Hola de nuevo faraonDX.

Cita:
Empezado por faraonDX

Me alegra mucho que hallas, respondido a mis interrogantes, he visto algunos comentarios tuyos en diferentes temas
¿Lo dices por mi? No se que pensar... que alguien lea mis post y comentarios y que esté de acuerdo... me pone rojo de vergüenza. Ja... no... broma. Ta todo bien.

Cita:
Empezado por faraonDX
En realidad tambien pienso que antes de escribir una linea de código hay que tener claro la idea esacta de como quedará el sistema
No tiene que ser exacta. Pero si lo mejor estimada y precisa posible. Al menos yo, por el momento no me podría decir que mi análisis y diseño será exacto y que siempre será para bien.

Cita:
Empezado por faraonDX
despues de un diseño OO no podría o mejor dicho no me sería factible utilizar este tipo de relación entre componentes, ya que los objetos que diseño son los que deben estar en relación con los elementos de la interfaz de usuario.
¿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!

¿A que haces referencia cuando dices en relacion con los elementos de la intefaz de usuario?

Por lo que logro entender (corrije por favor si me equivoco), tu tienes un diseño basado en OO. Bien perfecto. Creo que tu problema radica en como hacer comunicar tu capa lógica con tu capa de interfaz. Y por la forma en que vienes redactando tu problema es que empleas elementos dataware y estos se comunican derechito con la capa lógica (datasource).
Ve al diseño de la capa pero con zonas:

----------------------------------------------------------------------
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...
----------------------------------------------------------------------

Es decir, Se tiene dos canales de trabajo, por un lado el conformado por el repertorio de controles aportados por delphi (dataware, datasource, etc) lo que conforma un diseño en tres capas. Y en forma paralela tu diseño.

Ahora que lo veo, posiblemente Table, Query pertenezcan a la capa lógica. Habría que ver que opinan el resto. Bueno, en fin el resultado será el mismo.

Para hacer comunicar tus objetos con la interfaz (independiente del control que sea) se emplean los eventos necesarios que deban dispararse... y pasar el valor de los datos:

Código Delphi [-]
TuForma.TuControlEvento(parametros);
begin
   TuObjeto.Propiedad := Valor a tomar;
   TuObjeto.Evento;
end.

// O....

TuUnidad.TuControlEvento(parametros);
begin
   TuObjeto.Propiedad := Valor a tomar;
   TuObjeto.Evento;
end;

Y esta filosofía es la que permite que se envién y pasen los mensajes entre tus objetos y después envien los datos hacia el receptor correspondiente.

Por ejemplo puedes aprovechar alimentar a tu objeto cuando los datos han cambiado (on Change de un Data Source). El momento indicado de cuando pasar los datos a tus objetos dependerá del diseño de tus diagramas de secuencia (son fabulosos para ver estas cosas) y otros diagramas que UML nos ofrece.

El ejemplo es muy simple...
No tengo un ejemplo preparado (código) para que te ilustre mejor la idea. He visto unos ejemplos de BD y POO en varias ocasiones en estos foros. Busca con esos términos.

Te puedo recomendar que leas UML y patrones. de Craig Larman, si es que no lo haz leído todavía.

Creo que los maestros te pueden dar una mejor perspectiva del asunto.
No se si termino de explicarte, y de explicarme. Lo más probable es que haya quedado tinta en el tintero por mi parte.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
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
  #4  
Antiguo 17-06-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
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
  #5  
Antiguo 19-06-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
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
  #6  
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
  #7  
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
  #8  
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
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 19:18:18.


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