Hello :)

Tu aurais des petits exemples de code ? Car là c'est un peu flou tout ce que
tu dis :)

Tu nous parles de singleton, de module, etc... c'est pas forcément super
clair ;)

Pour ma part j'utilise un FrontController dans mes applications et un
dispatcher d'événement global avec une notion de channel pour lier les 2 :

http://code.google.com/p/maashaack/wiki/TutorialsEvents_multi
http://code.google.com/p/maashaack/wiki/TutorialsEvents_frontcontroller

Du coup j'ai la possibilité d'échanger des événements facilement vers des
controller/eventlistener simple via l'interface EventListener basée sur les
normes du event model W3C :

http://code.google.com/p/maashaack/wiki/TutorialsEvents_intro

Du coup... dans tout ce que tu dis au dessus faut cerner la notion de MVC
(Design Pattern Model/View/Controller) et du coup si je peux considérer que
les vues de ton application c'est les "modules" et les données devront être
stockées dans un ou des modèles, suffira ensuite de les mettre en relation
via un FrontController simple pour des types d'événements spécialisés.

Bref, pour résumer :

1 - tu nous montres pas de code d'exemple sur ce que tu fais (pas besoin de
tout ton code, pas besoin de tout nous mettre sur le FCNG non plus car cela
ne sera pas lisible.. un petit envoi de fichier avec un lien ou un mail ce
sera très bien)

2 - Méfie toi de la notion de singleton... cela devient vite un anti-pattern
d'en mettre partout dans une application.

Pour ma part les singletons je les gère via une fabrique et j'utilise à 99%
maintenant le Design Pattern d'injection de dépendance pour éviter les
soucis et mettre les objets en relations les uns avec les autres :)

Je t'invite à lire le premier chapitre de mon ebook (en cours d'écriture)
sur le sujet :

http://www.ekameleon.net/blog/index.php?post/2008/07/21/A-Design-Pattern-dinversion-de-controle-Generalites

Ensuite je te conseille de lire un peu des articles sur le Design Pattern
MVC en restant bien ouvert sur ce concept... car il y a des tas de manières
de l'utiliser et de l'implémenter et au final il faut avant tout bien cerner
le concept...

Exemple :

http://www.ekameleon.net/blog/index.php?post/2006/12/22/56-vegas-tutorial-03-design-pattern-mvc-with-frontcontroller
http://www.ekameleon.net/blog/index.php?post/2006/12/22/57-vegas-tutorial-03-design-pattern-mvc-with-frontcontroller-partie2

Les exemples ci dessus sont en AS2 mais sont applicables sans soucis en AS3
:)

Maintenant je te conseille de regarder rapidement l'exemple AS3 de MVC avec
un FrontController sur mon google code :

http://code.google.com/p/andromed-as/source/browse/#svn/trunk/AS3/trunk/bin/tutorials/andromeda/mvc

Il n'y a pas beaucoup de classe est si tu prends un peu de temps pour lire
la doc au dessus et pour regarder le code de cet exemple tu verras que c'est
assez simple à implémenter :)

L'idée est donc de centraliser les informations (événements) et de les faire
passer dans un front controller pour les rediriger vers des controllers
simples et spécialisés pour chaque action importante dans ton application.
Ainsi tu as la possibilité d'éviter au MAXIMUM les dépendances entre tes
objets (vues, modèles, données...)

Pas assez de temps pour rentrer dans le détail :) Si tu veux de l'aide faut
nous montrer du vrai code sinon pour le moment on peut te donner que des
idées et de la lecture ;)

EKA+ :)

Le 11 mars 2009 18:10, Gwenn Guihal <[email protected]> a écrit :

> Hello,
>
> Je développe actuellement une application en Flash, qui se veut le plus
> modulaire possible.
> Donc j'ai des modules qui communique entre eux via
> des événements personnalisés, ces événements sont dispatchés via un
> singleton accessible par chaque module.
>
> Je me posais une question:
>
> J'ai un module qui modifie un objet.
> Je dispatch un event, pour dire à un autre module de réaliser une action en
> utilisant cet objet.
>
> La question est :
> -> Vaut mieux passer cet objet dans mon event, via un paramètre
> "data:Object" ?
> -> Ou bien stocker cet objet dans un singleton afin qu'il soit accessible
> par mes deux modules ?
> -> Une autre solution super classe ?
>
> Merci d'avance,
>
> ++
>
> Gwenn
>
>
>
>
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "FCNG" de 
Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/FCNG?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à