-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 13/10/10 13:05, tny escribió:
> Permito que se registren callbacks para los eventos tanto en las > instancias de Proccesses como en las de Controller > Los callbacks registrados en Controller sólo se lanzan cuando el evento > se produce en el proceso asociado a dicho controller. > Los callbacks registrados en Proccesses se lanzan cuando el evento se > produce en cualquier Controller. > > ¿Cual sería el comportamiento deseable? > 1. Que primero se lancen todos los callbacks de todos los enventos > registrados en los controllers, y luego todos los de Proccesses > 2. Que primero se lancen todos los callbacks de todos los controllers y > luego todos los de proccesses > 3. Que para cada evento se lance primero en proccesses y luego en > controllers > 4. Que para cada evento se lance primero en controllers y luego en > proccesses > 5. Que un evento no se lance en Processes si está también registrado en > controllers > 6. Dejar de algún modo que el desarrollador que use el módulo escoja. > > El caso nº 6 podría complicar bastante la forma de usar el módulo, sobre > manera si se da la opción de escoger entre todas las posibilidades. > > Actualmente lo tengo implementado de forma 1, pero estoy dudando en > hacerlo de la forma 4. Si entiendo bien, buscas un modo de desacoplar el lugar donde se produce el evento del que lo procesa. Lo normal es crear una "cadena de mando" por donde avanzan los eventos hasta que alguien los procese y "consuma". Con esto quiero decir que los "callbacks" deberían devolver un valor indicando si han consumido o no el evento, ejecutando primero los callbacks de los controllers para luego ascender a los proccesses que ejecutarían la acción por defecto. Esta cadena se pararía allí donde se "consuma" el evento, o bien al llegar al final. En cuanto a la opción contraria, "comando", la comunicación desde padre a hijos, podrías también considerar la opción de "multidifusión", o sea, poder lanzar un comando a todas las instancias de un controller. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJMuPw8AAoJEFdWyBWwhL4FW2IIAIt8Ho7jDPa/S/a7ybonxqp2 q4nF8pY9wTBMFM5rIpfGWNcFSni6J9TmQ2gEV30V3tV6jBHjBCYQOloPTIH8o117 VgsHA6Dx4Xc58Ep1ODLlFn64DyLWXqKa58cf6KEKjKu7OLxAWEujAGxSDlhPlPk4 8EroftLagDIh9T+2ZvMf2gbjAGFm8/ZSQsApBCN0OaUxsbK2vzjWKULhKNUunM/p I5ONZDMlSHRsyH2s/arNeqipEXcK351tcXMNZBQw60Rg1cmrUFLzqhnPplz1I+6/ ci81L/xlK6rHZLIu7z8nHIYxJlQcC6N7D+G7Qxd1O36TgZEF650qguxMBoYvyAU= =uohz -----END PGP SIGNATURE----- _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/