Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-10-2005
adlfv adlfv is offline
Miembro
 
Registrado: may 2005
Posts: 39
Poder: 0
adlfv Va por buen camino
Abstracción de aplicación por departamentos

Hola a todos.

Estoy haciendo un programa y he hecho una jerarquía de departamentos, en los cuales quiero encapsular todas las funciones de cada departamento como pueden ser acciones, operaciones, reportes...

La idea es que cada departamento esté en un .bpl, y que al eliminar el .bpl de ese departamento, no pueda realizar las funciones que realiza ese departamento (pero sí pueda seguir ejecutando la aplicación, salvo que sea un departamento muy vital).

Si los paquetes son vinculados de forma estatica, no puedo ejecutar la aplicación al eliminar alguno de ellos, pero si son vinculados (cargados) de forma dinámica, sí puedo hacer eso pero tengo que apañarmelas para hacer las llamadas a las rutinas, acceder a los objetos, y todo eso.

El problema que veo es cómo desactivar o borrar un departamento, y se me ocurren dos soluciones:

1.- Si tengo un "flag" de activado/desactivado, tengo el problema que por ingeniería inversa me pueden activar departamentos que no deseo que activen, por ejemplo usar departamentos por los cuales no han pagado, pero me facilita mucho la vinculación con el programa, pues puedo usar vinculamiento estatico.

2.- Si uso el metodo de "borrar" los departamentos que no uso, tengo el problema que tengo que armar todo para poder usar los objetos dentro de los paquetes, llamar a las rutinas, activar y desactivar menus y todo eso en funcion de si existe el archivo .bpl o no. Aparte tengo el problema que no sé cómo "engañar" al compilador, pues al compilar se supone que los paquetes siempre van a estar ahí (porque necesito establecer las llamadas a dicho paquete) pero al ejecutar no siempre estará ahí.

Me inclino más por la segunda pues me parece que es más "moldeable" y más independiente, pero no sé muy bien cómo resolver ese inconveniente. He pensado en hacer un interfaz común entre los objetos del paquete (departamento) y el programa mediante una clase abstracta que no haga absolutamente nada (pero que sí pueda instanciar, aunque no tenga sentido) para "engañar" al compilador, y que si el paquete existe se sobrecarguen los métodos o algo así, y se le de la funcionalidad al paquete.

Alguna idea? Alguna sugerencia? Me expliqué bien?

Muchas gracias de antemano.

Un cordial saludo
Responder Con Cita
 



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


La franja horaria es GMT +2. Ahora son las 20:53:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi