2010-02-19 3 views
2

J'utilise une structure de bras de robot et je me demande comment mediator.mapView fonctionne avec plusieurs instances de la même vue. Par exemple, dans ce qui suit, un nouveau ItemDisplayMediator est-il créé pour chaque ItemDisplay instancié, ou est-ce que tous les ItemDisplay utilisent le même médiateur? Si chacun instancie un nouveau médiateur, est-il possible d'utiliser un seul médiateur pour des multiples de la même classe/vue?Duplication de médiateurs dans Robotlegs AS3 MVCS

mediatorMap.mapView(ItemDisplay, ItemDisplayMediator); 

Répondre

2

Chaque instance de vue est médiatisée par une instance de médiateur différente.

Si vous souhaitez un médiateur unique pour plusieurs éléments, créez un médiateur pour un conteneur et faites la médiation de ses enfants.

+0

Fait sens. Quelqu'un m'a mentionné "utiliser des interfaces pour éviter les duplications de vues" (je suppose qu'il voulait dire utiliser quelque chose de semblable à mapSingletonOf de RL pour une vue) ... pas sûr si c'est une réalité. – typeoneerror

+1

Ouais, je ne suis vraiment pas sûr de ce dont il parlait! J'ai juste essayé de mapper votre médiateur comme un singleton ainsi que pour une vue ... mais RobotLegs a ignoré le mappage singleton. – alecmce

1

alecmce est correct, le MediatorMap va appliquer une nouvelle instance du médiateur à chaque instance de la vue en cours de médiation qui arrive sur la scène. Un médiateur, comme il est écrit dans des robots, est seulement équipé pour gérer un seul composant de vue à un moment donné. Le médiateur n'est injecté nulle part, il n'est donc pas mappé avec l'injecteur.