Ver Mensaje Individual
  #22  
Antiguo 08-10-2015
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 291
Reputación: 21
elrayo76 Va por buen camino
Cita:
Sigo pensando que el diseño no es lo mas flexible que podria ser. Yo no pensaria en un TCliente como una "clase que tiene los campos de las tablas con sus read y write". Vuelvo a remarcar lo que ya dije antes. Que representa para ti un cliente en tu negocio?. Recuerda lo que dijo Mario mas arriba: es como si fuera un simple y tonto record del Pascal antiguo. Simplemente contiene valores, y solo lo puede hacer en memoria. No sabe NADA de persistencia. A lo sumo podra hacer algun tipo de calculo sencillo pero nada mas.
La clase TCliente que mensioné no sabrá como se guarda en la base de datos. Como tu dijistes, tendrá solamete los datos que se le cargue a cada propiedad en memoria y será llamada para pasar esos datos a la base de datos o usar los datos que tenga. Esta clase en un futuro si es necesario se podrá ampliar con mas propiedades (estas propiedades representan los campos de la tabla)

Cita:
El trabajo de persistencia es trabajo de otra clase. Porque? Sencillo, hay un "mantra" (principios SOLID) que dice que las clases deben tener solo una responsabilidad. Solo una mision. Nada mas. Si tienen que ocuparse de otra cosa, tenes en un 99% algo mal.
Por eso mismo para la persistencia de datos es que he puesto una clase llamada TClienteServicio. Esta clase puede ser cualquier otra que me devuelva los datos de otro almacenamiento cualquiera (archivo, otro motor de BD) para llenar TCliente.

Cita:
Con esto creo que si bien me fui mucho por las ramas te di un par de tips que te ayudan en algo (espero)
Muchas gracias por todo. Algo similar es lo tenía en mente para desarrollar. Solo me queda ponerme a hacer algunas cosas y probar.

Saludos
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita