ViewProcessorMap vs ViewMap
Hi guys,
Thanks for such a great framework!
Guys can you explain why we need ViewProcessorMap if we already
have ViewMap. What the difference?
Comments are currently closed for this discussion. You can start a new one.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
Support Staff 1 Posted by Ondina D.F. on Jan 15, 2014 @ 12:02 PM
Hello,
There is no ViewMap in Robotlegs v.2. The ViewMap from Robotlegs v. 1 became ViewProcessorMap in Robotlegs 2. The ViewProcessorMap is more complex and powerful than the rl1's ViewMap.
https://github.com/robotlegs/robotlegs-framework/blob/master/src/ro...
Are you, by any chance, using a Starling extension for rl2? If so, are you asking about the ViewMap used by those extensions?
If you need help with the ViewProcessorMap, please provide more info about your specific use case :)
Ondina
2 Posted by saqsun on Jan 15, 2014 @ 04:53 PM
Sorry for confused question.
My question is about MediatorMap and ViewProcessorMap. I do not understand why we need "viewProcessor" if we already have "mediator"?
Support Staff 3 Posted by Ondina D.F. on Jan 16, 2014 @ 11:01 AM
I don't know how much you already know about the MVCS meta-design pattern and the roles of Mediators. The Best Practices wiki was written for robotlegs v.1, but the principles are still the same with robotlegs 2:
https://github.com/robotlegs/robotlegs-framework/wiki/Best-Practice...
https://github.com/robotlegs/robotlegs-framework/wiki/Best-Practice...
I apologize, if you knew all this already:)
Simply put, the MediatorMapExtension is specialized in creating Mediators.
If you need Mediators for your Views, you use the MediatorMap, to map Views to Mediators. A Mediator will be created automatically, the moment the View to which it has been mapped is added to the stage. You can also mediate views manually, if you want to.
On the other hand, the ViewProcessorMap is specialized in "processing" Views, where "processing" means that a View mapped with the viewProcessorMap will be injected with whatever dependencies it needs, the moment it is landing on the stage. In addition to that, it can also create a Mediator for the mapped View.
From the docs: " A difference between the mediatorMap and the viewProcessorMap: in the mediatorMap, mediators can be injected into hooks. In the viewProcessorMap they aren't mapped for injection at all."
If you don't need Mediators, because you're using other patterns, use the viewProcessorMap.
You can use the mediatorMap and the viewProcessorMap for the same View, if you really wanted or needed to. For example:
or only the viewProcessorMap:
When SomeView is added to the stage, SomeObject will be injected into SomeView and SomeMediator will be created. Of course, you'll have to add this to SomeView:
If you don't need a Mediator for SomeView, just some dependency injected into it:
Did I answer your question?
Ondina
4 Posted by saqsun on Jan 16, 2014 @ 05:31 PM
Now I got it :)
Thanks a lot for detailed answer!
Support Staff 5 Posted by Ondina D.F. on Jan 17, 2014 @ 09:57 AM
Cool! You're welcome:)
Ondina D.F. closed this discussion on Jan 17, 2014 @ 09:57 AM.