Owner, une histoire de channel

Si vous avez utilisez les channels dans pixLib vous pouvez directement passer au point suivant.

Dans pixLib on a vu apparaître la logique de Channel dans la classe Logger. L'idée du channel était d'émettre les messages de log sur différentes fréquences, et de pouvoir s'abonner sur une, plusieurs ou toutes les fréquences.

[actionscript]
var filtreChannel : LogChannel = new LogChannel("FILTRE");
Logger.getInstance().addLogListener( LuminicTracer.getInstance(), filtreChannel);
Logger.LOG("pif", LogLevel.INFO, filtreChannel);
Logger.LOG("paf", LogLevel.INFO);

Avec cette exemple, on ne recevra que le message "pif" et non "paf" car le loggueur est uniquement abonné aux messages qui sont émis sur le channel LogChannel("FILTRE").

Un plugin == un owner == un channel

Dans lowRA, on a maintenant la possibilité de définir un channel, appelé owner, pour chaque structure MVC.

ce qui donne :

[actionscript]
var monModel : Model = new Model(owner, name); // extends AbstractModel
ModelLocator.getInstance(owner).getModel(name); // récupère l'instance de monModel
var maVue : View = new View(owner, name); // extends AbstractView
ViewLocator.getInstance(owner).getView(name); // récupère l'instance de maVue

Plus de souci de scoop lors que l'on charge plusieurs structures MVC+FrontController global, car chaque plugin a son propre owner (channel). :)

La suite au prochaine épisode. ;)