I’ve posted a pipes version of the mortgage app.
Things to note:
You can load / unload the modules dynamically.
A junction mediator is defined for each ‘player.’ In the mortgage app context that’s a mediator for the application itself, the Acme widget and the Foo widget.
ApplicationJunctionMediator
ModuleJunctionMediator (Acme)
ModuleJunctionMediator (Foo)
To make our lives easier when it comes time to unload the module, the module caches the app’s pipe fitting it’s connected to. This allows the module to easily ‘cleanup’ (disconnect our fittings) should we want to unload the module. You may find a cleaner approach to this, feel free to post in comments – the ‘caching approach’ was simple and thus the road taken for the demo.
sectore
June 18, 2008 at 9:07 am
Joshua,
thanks a lot for sharing your pipe demo! Unfortunately I can’t test the demo, it seems that the package “com.dl.modules.pipes” is missing. Or miss I something
-Jens
Stanislav
July 1, 2008 at 3:30 am
Cool sample and previous post is beautiful. But when i download Mortage app, FB tells that this package is missing
com.dl.modules.*
And i can’t find this directory. Please post missing package
Joshua
July 2, 2008 at 12:00 am
I had originally left that package out as an exercise for the reader
If you take a look at the original mortgage app, I’ve included the full source. Porting that source over to “Pipes” was *very* helpful.
If I get a chance maybe I can post that too…
Stanislav
July 2, 2008 at 2:41 am
Frankly speaking I don’t have a need knowledge to port this application to pipes
I just starting understanding pipes and pureMVC architecture…
Frikki
July 4, 2008 at 2:14 pm
It would be extremely helpful if you could share the full source, as it gives us newbees to PureMVC and Pipes a far better understanding of the internal workings when the full structure and code is understood.
Frikki
July 4, 2008 at 2:32 pm
In regards to my previous comment, I realized that I could right-click and view source that allows for download
mani
July 21, 2008 at 10:41 pm
Dear Joshua, thanks for your demo,
but is that not complete?
I couldn’t found the com.dl.modules.pipes.plumbing and so on, so could you opensource all of that?
Thanks for your time^_^
mani.
manis
July 24, 2008 at 6:05 am
Could you opensource the lib of the demo? Thanks~
Liho
July 25, 2008 at 5:27 am
Thanks for tutorial and demo. Would be extremely helpfull if you could share ported version of dynamic modules code.
Pls
mx
July 31, 2008 at 2:47 am
Hey, great stuff.
Only thing i noticed is that unloaded modules don’t get cleaned up from memory. at least not in these flash player 9 and 10 beta versions i have installed. i guess it’s the same issue discussed in this article:
http://gskinner.com/blog/archives/2008/04/failure_to_unlo.html
i’m testing similar approach with pure as3 and having hard times with getting loader content to be garbage collected after unloading. i wonder is there any good solution for this problem.
Joshua
August 1, 2008 at 10:53 am
mx,
I posted a reply over at http://forums.puremvc.org/index.php?topic=508.msg2668#msg2668
Josh
Márcio
August 18, 2008 at 11:17 am
Hello Joshua, provides complete source code. It will help many people who are trying to learn how to use modules and pipes, including I.
Thomas
October 1, 2008 at 7:13 am
Could you please post missing modules? I’m trying very hard to understand what’s going on with pipes and this code would be very helpfull.
Joshua
October 17, 2008 at 2:28 am
I *finally* got around to updating the ‘source view’ – full source is included for http://www.joshuaostrom.com/demos/mortgagepipes.
Cheers
Josh
Rich
February 26, 2010 at 1:02 am
I have a difficult to use pipes version of the mortgage app now.Below is throw error when I click load module button:
[ProgressEvent type="error" bubbles=false cancelable=false eventPhase=2 bytesLoaded=0 bytesTotal=0]
at com.dl.modules.pipes.proxies::ModuleManagementProxy/onError()[E:\CBank\MortgageAppPipesDemo\src\com\dl\modules\pipes\proxies\ModuleManagementProxy.as:90]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at ModuleInfoProxy/moduleEventHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\modules\ModuleManager.as:1101]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at ModuleInfo/errorHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\modules\ModuleManager.as:734]
Do you have the error before?