Ver Mensaje Individual
  #2  
Antiguo 15-11-2011
LoPiTaL LoPiTaL is offline
Miembro
 
Registrado: abr 2009
Posts: 168
Reputación: 18
LoPiTaL Va por buen camino
Hola Delphius.
No he terminado de entender muy bien tu problema, pero según planteas, diría que lo que quieres es tener una interfaz (o varias) que sería tu fachada y un montón de "clientes" que serían tus observadores qeu actúan sobre dicha interfaz.
Tu problema es que sólo debe haber un único objeto que implemente la interfaz (o más bien, uno por cada interfaz que tengas), ¿es así?

Te recomiendo (desde mi corta experiencia) que revises el "Spring Framework" para Delphi. Este framework independiza la sección "interface" de la sección "implementation" en las units de Delphi, de tal forma que tus interfaces NO dependen de las clases que las implementan. Para lograrlo, en el "initialization" de la unit donde defines tu clase que implementas la interfaz llamas a una función del tipo "Esta Clase implementa Esta intefaz", entonces el sistema ya sabe qué clase buscar, sin necesidad de tenerla registrada en ningún sitio.
Además, y esto creo que será lo que más te interese, puedes delegar la creación de la clase a una función, de tal forma que desde esta función puedes crear una nueva instancia, usar una que ya tengas, etc...

Te dejo un vídeo explicativo:
http://cc.embarcadero.com/item/28573

Puedes descargártelo de aquí, junto con ejemplos, etc...
http://code.google.com/p/delphi-spri...ource/checkout

NOTA: necesitas Delphi 2010 o superior para que te funcione.

Espero que te sirva.
Un saludo,
LoPiTaL
Responder Con Cita