background preloader

Communication

Facebook Twitter

Communication entre Module et Application - Adobe. 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. Bien sûr, je vous conseille d’utiliser au maximum les interfaces pour faciliter la ré-utilisation du code. Communication Application vers Module - Adobe Fle.

Vous pouvez accéder aux méthodes et aux propriétés d’un module depuis l’application parent. Pour cela, vous devez récupérer une instance de la classe du module. Si vous utilisez la classe ModuleLoader pour charger votre module, vous pouvez appeler des méthodes de module depuis l’application parente en prenant une référence de la propriété « child » du ModuleLoader, et en la castant (conversion de type) en la classe du module (difficile à expliquer avec des mots, l’exemple suivant sera plus parlant). La propriété « child » est une instance de la classe du module. Dans ce cas, la classe du module est le nom du fichier MXML qui définit le module. L’exemple suivant appelle la méthode getTitle() du module depuis l’application parente: Code Application parente Code Module (ChildModule1.swf) Comme vous pouvez le voir, cette approche crée une liaison forte entre l’application et le module, et ne vous permettra pas de réutiliser le même code quand vous chargerez de multiples modules.

Communication Module vers Application - Adobe Fle. Dans l’article précédent, on a vu comment communiquer entre une application Flex et un module. Voyons maintenant comment créer une communication entre un module et l’application qui le charge. Les modules peuvent accéder aux propriétés et aux méthodes de l’application parente en utilisant une référence vers la propriété « parentApplication« . L’exemple suivant accède à la propriété « expenses » de l’application parente au chargement du module. Le module utilise ensuite cette propriété, un ArrayCollection, comme source pour la donnée du graphique. Quand l’utilisateur clique sur le bouton, le module appelle la méthode getNewData() de l’application parente qui renvoie un nouvel ArrayCollection pour le Chart: Le code du module L’application parente qui va être appelée L’application en ligne Flex Source Code Download: Télécharger le code source complet de l’application Vous pouvez aussi appeler des méthodes et accéder aux propriétés d’autres modules.

Communication Module vers Module - Adobe Flex Tut. Vous pouvez accéder aux propriétés et aux méthodes d’autres modules en utilisant les références vers les autres modules de l’application parente. Pour cela, vous devez utiliser la propriété « child » de ModuleLoader. Cette propriété point vers une instance de la classe du module, ce qui vous permet d’appeler des méthodes et d’accéder aux propriétés. L’exemple suivant définit une application qui charge 2 modules. Le module InterModule1 définit une méthode qui renvoie une String. L’application principale Module 1 Module 2 Dans cet exemple, l’application permet de faire le pont entre les 2 modules. Utiliser des interfaces ActionScript pour communi. Les derniers articles sur les modules Flex montraient comment créer une communication module-application et vice-versa. Cependant, ces techniques basées sur les propriétés child de Module Loader ou parentApplication créent une forte dépendance entre vos classes, ce qui empêche la ré-utilisabilité de vos modules.

La solution pour créer des modules peu couplés avec l’application est d’utiliser des interfaces ActionScript. Les modules vont implémenter une interface et votre application va appeler les méthodes ou fixer les propriétés définies dans l’interface. L’interface va ainsi définir les points d’accès vers votre module. Le module implémente une interface connue de l’application ou l’application implémente une interface connue par le module.

Cela vous permet d’éviter les dépendances fortes entre module et application. L’application suivante vous permet de personnaliser l’apparence du module chargé en appelant les méthodes définies par l’interface IModuleInterface. Le module.