time for next mvcExpress version 2 beta!
Additionally to single commands per message feature mvcExpress framework is improved by extracting modular features as extension, and enabling more then one mediator per view object(for different view classes.).
1 : Module to module communication and module data sharing via scopes features removed from framework core, and released as extension.
I noticed that very few projects actually use modular communication and data sharing features. Extracting them as extension make:
- core of framework simpler. (less confusing for beginners.)
- makes framework overall a bit faster. (~4%).
- reduces framework CORE size to 9.33 KB then compiled for release!
I am still working on documentation on how to use extensions, but you can already find modular application in examples.
2 : Support more then one mediator for single view object.
It is considered a bad practice to have more then one mediator for same view class, but is some cases you will have same view object, that extends or implements different classes, and it is convenient to have ability to have unique mediator for each of those different classes.
This feature is added for people who like to use interfaces(witch is often very good practice). Imagine you have 2 unrelated view objects, that implements same interface. With this update – you can have not only dedicated mediators to handle unique view objects, but also one dedicated mediator that handles interface.
Update is backward compatible – API is only extended. To be honest – I find this new mediatorMap function set more intuitive and useful.
This change will make mediating/unmediating actions ~5% slower, but I don’t mind – those actions are not performance critical.
mvcExpress version 2.0.beta2 files:
Feel free to ask any questions in a forum. (Getting some feedback and criticism would be nice too!)
Coming soon to version 2:
- Extension checking in debug mode. (this will improve extension use by throwing informative errors then you misuse it.)
- Extension use documentation.
Have fun with flash.