Mensajes entre instancias.

Chema Cortes pych3m4 en gmail.com
Jue Mar 16 02:16:05 CET 2006


On 3/15/06, Pepe Aracil <pepe en diselpro.com> wrote:

> Por cierto Chema, en la implementación en que los eventos son objetos, Si yo
> creo un listener dentro del constructor de una clase y este listener tiene que
> registrarse en 10 eventos, ¿Tendrias que pasar estos 10 eventos como parámetros
> del constructor? ¿Serian todas la instancias de eventos variables publicas?

No sé muy bien si lo preguntas porque ves en ello algún problema. Si
no quieres pasar tantos argumentos siempre puedes crear el listener
fuera de la clase y pasar sólo el listener como parámetro o pasar los
eventos como una lista.

En cuanto a la segunda pregunta, se me vienen a la cabeza muchas
variaciones posibles para no tener que estar accediendo a variables
globales. Por ejemplo, se me ocurre que los eventos fueran clases
"singleton" (con una única instancia) y que derivasen de una
superclase "Event" genérica. Aprovechando la jerarquización de clases
se podría agrupar eventos del mismo tipo. Por ejemplo, ClickDerecho,
ClickIzquierdo y ClickCentro derivarían de Click, de modo que
escuchando el evento Click es como si escucharas los otros tres por
separado. Con el patrón singleton no hay que preocuparse de mantener
variables públicas; con cada instanciación se obtiene siempre una
referencia a la instancia única.




Más información sobre la lista de distribución Python-es