14oct/099
Flex Modules – Communication entre Module et Application
La communication entre des modules Flex et l'application parente, et aussi entre les modules est possible. Vous pouvez utiliser les stratégies de communication suivantes pour la comm inter-module, application-vers-module et module-vers-application.
- Vous pouvez utiliser les propriétés "child" de ModuleLoader, "factory" de ModuleManager et "parentApplication" de Application pour accéder aux modules / applications. Cependant, en utilisant ces propriétés, vous allez créer une application fortement couplée (c'est à dire avec des dépendances entres les classes) qui ne permettra pas la réutilisation du code. De plus, vous pourriez créer des dépendances entre les modules et l'application qui pourrait augmenter la taille des classes.
- Query String Parameters: Les modules sont chargés à partir d'une URL. Vous pouvez passer des paramètres dans cette url et parser ensuite ces paramètres dans le module.
- Interfaces: Vous pouvez créer des classes ActionScript interface qui vont définir les méthodes et les propriétés auxquelles les modules et les applications peuvent accéder. Cela vous donne un plus grand contrôle sur l'interaction entre le module et l'application. De plus, cela vous évite de créer des dépendances entre les modules et les applications.
Bien sûr, je vous conseille d'utiliser au maximum les interfaces pour faciliter la ré-utilisation du code. Vous n'en aurez peut-être pas tout de suite besoin dans votre projet mais les applications évoluent et si vous devez ré-utiliser un module ensuite dans une autre application, vous gagnerez un temps précieux.
Dans les prochains articles (voir les articles liés en bas de page ou la liste des tutoriaux Flex), on va voir comment communiquer dans les deux sens.
- Flex Modules – Communication Application vers Module
- Flex Modules – Communication Module vers Application
- Flex Modules – Communication Module vers Module
- Flex Modules – Passage de data dans l'URL (Query String)
- Flex Modules – Utiliser des interfaces ActionScript pour communiquer avec l'application
- Flex Modules – Communication découplée entre modules avec EventBroker
Articles similaires
- Flex Modules – Communication Module vers Module
- Flex Modules – Communication Module vers Application
- Flex Modules – Optimiser vos modules avec load-externs
- Flex Modules – Créer une application Flex modulaire
- Flex Modules – Compilation de modules (Flex Builder et mxmlc)
Commentaires (9)
Trackbacks (0)
(Souscrire aux commentaires de cet article)
Aucun trackbacks pour l'instant






6 août 2010
Bonjour,
Je fais actuellement une application utilisant plusieurs modules. Pour la communication j'utilise bien les interfaces pourtant j'ai toujours des warning pour chaque module me prévenant que mon application est directement référencé par tous mes modules et qu'il est conseillé d'utiliser les interface. Du coups ma compilation commence à trainer en longueur sans raison, une erreur dans mon mxml de base est retournée autant de fois qu'il y a de module… Bref comment puis-je trouver ce qui pose problème ?
6 août 2010
Quelle erreur? C'était pas un warning?
Fabien
6 août 2010
Si les warnings sont présents en permanence, mais si j'ai une erreur de compilation dans mon application elle apparaît autant de fois que j'ai de module, ce qui veut bien dire que pour chaque module il compile l'application de base, ce qui est cohérent avec le warning, mais que je ne m'explique pas avec mon code.
12 août 2010
Je n'ai toujours pas trouvé, par contre j'ai remarqué quelque chose d'étrange.
Tous mes modules herite d'un classe AbstractModule qui elle même hérite de Module. Si je sauvegarde cette classe et que je compile, pas de warning, si je sauvegarde mon Application et que je compile (sans modification – espace, effacer espace donc) les warning sont de retour… Si (lorsque j'ai les warning) je sauvegarde un de mes modules et je compile, j'ai des warning pour tous les modules sauf celui qui vient de compiler. Je ne maîtrise pas suffisamment le process de compilation flex mais ça sent beaucoup le bug de compilation non ?
12 août 2010
Salut,
j'ai le mm systeme que toi (AbstractPlugin extends Module) et parfois, quand je modifie un fichier dans un module (souvent un MXML à côté de mon plugin), j'ai une erreur de compilation (Factory je sais plus quoi). Je sauvegarde mon AbstractPlugin comme toi (espace…) et il se compile bien ensuite. J'avais vu que c'était un bug connu par Adobe.
A noter que le moment auquel tu auras cette erreur est totalement aléatoire (pour moi en tout cas) mais une fois qu'il est là, il reste pendant toute la session !
Fabien
12 août 2010
Je n'ai pas encore eu cette erreur, par contre je viens de remarquer un autre truc "amusant"
poids des swf sans warning 1.74Mo
poids des swf avec warning 974Ko
Tous ça avec le même code, j'ai trouvé un outil de compression révolutionnaire ^^
12 août 2010
Quand tu fais des versions release?
12 août 2010
Non non tout en debug
12 août 2010
Oui c'est variable en debug. Le module va faire 60Ko pendant une 10aine de compilation puis pouf, 1mo en debug ^^