On 1/12/12 2:16 PM, "Rick Winscot" <rick.wins...@gmail.com> wrote:

> Alex,
> 
> Speaking of marshal plan... any thoughts on how to deal with that going
> forward? 
> 
> The test cases that Adobe used / uses to validate marshal plan architecture
> and compatibility are pretty important. Do the mustella tests cover that
> ground?
> 
Mustella does in fact cover the Marshall Plan.  But given a chance, I would
hope to get rid of it by simply having a more granular framework and careful
use of interfaces.

For those who aren't familiar, the Marshall Plan uses separate
ApplicationDomains to run SWFs of different versions and marshall's data
between the SWFs.  An ApplicationDomain is set of class definitions.  It
works, but is rather like converting your DLLs into EXEs so you can run them
in a separate memory address space.  You end up loading the entire framework
multiple times.  The main reason we ended up here is that we had legacy
interfaces that used definitions that dragged in tons of other definitions
so changes to definitions could easily break legacy code.

My hope is that a more granular framework with better interfaces won't drag
in tons of dependencies and make it possible to replace the granules without
changing the other definitions.

Now if we had method overloading, it would make the problem much easier
because we would have more flexibility in changing API signatures.  Hence,
my hope we can someday implement a cheap form of overloading by decorating
APIs.

But I'm open to other ideas.

-- 
Alex Harui
Flex SDK Team
Adobe Systems, Inc.
http://blogs.adobe.com/aharui

Reply via email to