Entrar
¿Nuevo usuario? Inscribirme
DesarrolloDelphi · Desarrollo de Software en Borland Delphi
? ¿Ya estás suscrito? Entra a Yahoo!

Consejos

¿Sabías que...?
Podés añadir enlaces a sitios relacionados de tu grupo.

Mensajes

  Mensajes Ayuda
Avanzado
Tratando de entender Bussines Objects   Lista de mensajes  
Responder | Reenviar Mensaje #5895 de 7332 |
Re: [Delphi] Tratando de entender Bussines Objects

buena pregunta Pablo, ¿cuantas tablas por persona usas? porque siempre tuve esos problemas, sobre todo porque en Delphi tenés el RAD, que me facilita y/o condiciona a hacer ciertas adaptaciones, para aprovechar las facilidades de desarrollo y la OOP.
Uso DataModules o TClientDataSet (o TIBTable etc), depende del caso como el contenedor de Personas. Sería el TPersona al que le agrego otros métodos.
 
Mi tema es ¿cómo vincula los Data aware a mi clase si no fuera una clase a la que puedo ligar los componentes data aware? un  como un datasource por ej, necesito algo del tipo ClientDataSet para asociar a un DataSource necesariamente.
 
Otra forma que he probado, es crear una clase TPersona (Singleton) que en realidad tenga como atributo, un TClientDataSet (o similares) o TDataModule
Luego ese DataModule o TClientDataSet es una propiedad/atributo de TPersona que  paso en el Constructor.
En realidad TPersona, sería como una capa mas arriaba de TClientDataSEt/DataModule, que me permitiría algo mas de abstracción, por si quiero cambiar el motor de bd. Y dejar mas independiente las reglas de negocio. Claro que esto te obliga a escribir algo mas de código.
 
(Tu método procedure GetPersona( nId : Integer ); en realidad lo que hace es buscar en el clientdataset)
Si cambia el motor de BD, la estructura de TPersona casi no cambia, solo los métodos. Y lo que guardes, usando controles data aware, no será algo que pase por tu clase TPersona directamente, sino dependerá de su componente TclientDataSet asociado.
 
No se si se entendió algo, y de paso espero me corrijan porque no se si es la mejor forma tampoco.
Saludos
 
            Rossana
----- Original Message -----
Sent: Saturday, July 01, 2006 9:08 AM
Subject: [Delphi] Tratando de entender Bussines Objects

Hola amigos

Estoy tratando de llevar a la práctica la teoría de objetos.
Cree una clase persona

  TPersona = Class
  Private
    FNombre : String;
    FDireccion : String;
  Public
    constructor Create;
    property Nombre    : string read FNombre    Write FNombre;
    property Direccion : String read FDireccion Write FDireccion;
    function Instanciar : Integer;
    procedure GetPersona( nId : Integer );
  end;

Y desde mi form.. quiero instanciarla y recuperarla...

procedure TForm1.Button1Click(Sender: TObject);
var
  p : TPersona;
  nId : Integer;
begin
  p := TPersona.Create ;
  p.Nombre := 'Pepe';
  p.Direccion := 'Av. Rivadavia 123';
  nId := p.Instanciar ;
  p.Nombre := 'Otro nombre';
  p.GetPersona( nId );
end;


Estoy pensando bien? es esta la forma de hacerlo?
Si pongo un TDBEdit en mi form, cómo hago para indicarle en design time que ahí quiero el nombre de la persona?
En el boton de Ok del form.. le deberia poner un "p.instanciar" no?

Saludos
Pablo


__________ Información de NOD32, revisión 1.1635 (20060630) __________

Este mensaje ha sido analizado con NOD32 antivirus system
http://www.nod32.com
____________________________________________________ Esa persona especial te espera en Yahoo! Encuentros. ¡Dejate encontrar! http://ar.encuentros.yahoo.com/


Sáb, 1 de Jul, 2006 4:37 pm

rossig97
Sin conexión Sin conexión
Enviar correo Enviar correo

Reenviar Mensaje #5895 de 7332 |
Desplegar mensajes Autor Ordenar por fecha

Hola amigos Estoy tratando de llevar a la prctica la teora de objetos. Cree una clase persona TPersona = Class Private FNombre : String; FDireccion : String; ...
Pablo Zagni
fuelsoft
Sin conexión Enviar correo
1 de Jul, 2006
12:19 pm

Pablo: Deduzco que lo que pretendes es que la clase actúe como contenedor de "personas", al ejecutar Instanciar te cree una nueva "persona" a la que le...
Maximiliano Podostroiec
podostro
Sin conexión Enviar correo
1 de Jul, 2006
3:27 pm

Maximiliano: Respondo entrelineas Maximiliano Podostroiec escribi: Pablo: Deduzco que lo que pretendes es que la clase acte como contenedor de "personas", al...
Pablo Zagni
fuelsoft
Sin conexión Enviar correo
1 de Jul, 2006
4:32 pm

buena pregunta Pablo, ¿cuantas tablas por persona usas? porque siempre tuve esos problemas, sobre todo porque en Delphi tenés el RAD, que me facilita y/o...
Rossana Guerra
rossig97
Sin conexión Enviar correo
1 de Jul, 2006
4:50 pm

Roxy.. tanto tiempo.. Rossana Guerra escribi: buena pregunta Pablo, cuantas tablas por persona usas? porque siempre tuve esos problemas, La verdad.. de eso se...
Pablo Zagni
fuelsoft
Sin conexión Enviar correo
1 de Jul, 2006
5:37 pm

Subject: Re: [Delphi] Tratando de entender Bussines Objects Roxy.. tanto tiempo.. realmente :) Creo que al conjugar los 2 mundos como decís, necesariamente...
Rossana Guerra
rossig97
Sin conexión Enviar correo
1 de Jul, 2006
7:59 pm

Yo por ahora llevo hecha una serie de forms y dm que no son la implementacin del objeto del negocio.. sino un "muy buen gestor" de las tablas, que si estn...
Pablo Zagni
fuelsoft
Sin conexión Enviar correo
1 de Jul, 2006
9:07 pm

Hola muchachada: Voy a proponer mi idea sobre esto: Primero creo un componente nuevo heredado de DataSet. Luego le agrego las propiedades Nombre, Dirección,...
asfcompu
Sin conexión Enviar correo
1 de Jul, 2006
10:06 pm

Aldo Tratando de seguir lo que propons.. hice esto: type TPersona = Class( TDataSet ) private FNombre : String ; public property Nombre : String read FNombre...
Pablo Zagni
fuelsoft
Sin conexión Enviar correo
2 de Jul, 2006
5:10 pm

Pablo: No se trata de que crees una clase Persona en tu form. Se trata de que crees un componente TPersona heredando de algún tipo de DataSet que desees usar...
asfcompu
Sin conexión Enviar correo
2 de Jul, 2006
7:37 pm

Ah.. claro.. as si me cierra. Hay que hacer un componente y registrarlo. Buenisimo. Grax Z asfcompu escribi: Pablo: No se trata de que crees una clase Persona...
Pablo Zagni
fuelsoft
Sin conexión Enviar correo
2 de Jul, 2006
10:29 pm

Hola: Vi un tema similar en otro foro de Delphi y tengo algo para aportar, difiriendo un poco del camino que tomo este asunto: Hola: Si realmente deseas tener...
polde35
Sin conexión Enviar correo
3 de Jul, 2006
4:09 pm
Avanzado

Copyright © 2009 Yahoo! de Argentina S.R.L. Todos los derechos reservados.
Política de privacidad - Condiciones del Servicio - Reglas de la comunidad de Yahoo! - Ayuda