Ver Mensaje Individual
  #8  
Antiguo 25-06-2011
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.912
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Una forma popular de hacerlo es utilizando un sistema de plugins.

El problema es que desarrollar una aplicacion desacoplada es relativamente mas dificil, y si es la primera vez que lo haces te espera un largo camino de aprendizaje. Un problema por ejemplo, es el de la depuracion. Otro, el de tener coordinado la interfaz publica de las clases con los clientes que la utilizan. Otro, es el diseño de las clases. Y asi sucesivamente


Con todo, porque esperar a hacerlo después

Lo que debes hacer es primero aprender como hacer una aplicación multinivel (n-capas), y separar la lógica de negocios de la UI del acceso a datos.

En mis primero años intente en el primer intento de hacerlo, y la verdad, me dio mucha dificultad... así que con la experiencia que tengo diría que un primer buen paso es por lo menos separar la GUI de lo de demás... osea, como se explico en:

http://blog.elmalabarista.com/post/4...h-un-mejor-rad

http://edn.embarcadero.com/article/32388

http://blog.elmalabarista.com/post/4...y-no-paadentro

P.D: Si te aburre leer todo eso te lo resumo: En vez de usar multiples TDataSet/TDBConnection tener una sola clase que hace todo lo de la base de datos, y crear clases de negocio que la utilizan y crean dinamicamente TDataSet que se conecten a TDataSource.
O mejor aun, tomar un framework que tiene todo el cuento incorporado (si puedes pagarlo, realmente lo vale):

http://www.remobjects.com/


---

O quizas hay una opcion mas simple, si estas dispuesto a descargar parte del trabajo en la BD usando juiciosamente procedimientos almacenados y funciones (para ello, debes cambiar a acces por algo mas potente como Firebird - la favorita de los de este foro! - o Sql server o mysql, o postgress).

Eso se llama un app de 2 capas. Puedes poner, usando el lenguaje particular de la BD que eligas, logica centralizada en la BD y las apps clientes (que pueden ser distintos ejecutables) reusan clases bases que encargan de acceder la BD.

Es una manera mas simple de hacerlo.
__________________
El malabarista.

Última edición por mamcx fecha: 25-06-2011 a las 04:37:24.
Responder Con Cita