![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#2
|
||||
|
||||
|
Cita:
![]() En la web y embarcadero puedes encontrar documentación al respecto y algunos artículos interesantes. En cuanto al diseño de la aplicación me parece el correcto. Es más, yo comencé con el diseño de packages en una aplicación grande por una motivación similar. Diferentes módulos de la aplicación y la característica de que los diferentes usuarios cargan diferentes módulos. La aplicación es un ERP (bastante grande) y aproximadamente cuenta con 25/30 módulos. Por lo tanto no era "aceptable" que todos los usuarios cargaran TODOS los módulos. Hay usuarios que usan 4, los hay que usan 10 y los hay que los usan todos (admins). Nuestra estructura de packages es algo así; Cuenta con varias partes "conceptualmente": * EXE (1 fichero): Básicamente en el formulario principal y algo de código inicial, para iniciar la aplicación, cargar el resto de packages,... * PACKAGES DE LIBRERÍAS (6 BPL): Contienen los packages que son el CORE de la aplicación; Conexiones a Base de Datos, Controles visuales, librerías genéricas, el core de la interficie y el core para la capa de negocio. * PACKAGES BÁSICOS (2 BPL): Contiene las clases básicas para la capa de negocio. Son clases genéricas y que debe acceder todo el mundo, de ahí que se carguen de forma estática. * N PACKAGES NEGOCIO (N BPL): Por último están los packages de negocio. Que son el resto de clases/modulos con los que cuenta la aplicación. * N PACKAGES VCL. El EXE carga de forma estática (es decir que están linkados estáticamente al EXE) los packages de la VCL, los 6 packages de librerías y los 2 packages básicos. Si estos packages no se encuentran la aplicación genera error. Al cargar este core, y segun el usuario que se ha accedido, el sistema sabe qué packages debe cargar (de los N de negocio) y estos son los que se cargan de forma dinámica (utilizando LoadPackage), de forma diferente para cada usuario. de esta forma cada usuario tiene "la parte de la aplicación" que va a utilizar. Más adelante podemos discutir la carga/descarga dinámica (bajo petición). Para empezar te recomiendo que hagas un EXE y una BPL con clases y formularios. Línkalo de forma estática y de forma dinámica y en ambos casos debes acceder a ellos. Cuando tienes carga dinámica tendrás que acceder utilizando RTTI, así que tendrás que empezar a familiarizarte con estos temas. Más adelante podemos hablar de las actualizaciones de packages "por separado" y de que no es tan bonita como a primera vista parece... ![]() Te recomiendo que pruebes y que experimentes. Si tienes dudas plantéalas. A priori la complejidad aumenta al utilizar packages y aparecen algunos problemas que de otra forma no tendrías, pero considero que para aplicaciones grandes son casi imprescidibles. Un saludo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| FirebirdConfig ahora en Plugin para IBExpert | egostar | Noticias | 15 | 26-09-2008 22:45:17 |
| Plugin para outlook | fjardelphiyahoo | OOP | 1 | 18-09-2007 13:14:01 |
| ¿Como instalo plugin en IBexpert? | NPIdea | Firebird e Interbase | 1 | 22-06-2007 13:27:10 |
| Instalar Plugin en eclipse | Paoti | JAVA | 3 | 08-01-2007 20:47:23 |
| Que es un plugin? | chavetaz | Varios | 2 | 19-10-2004 14:41:29 |
|