Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Luca Tettamanti gave good answers to your specific questions already, so I'll just offer some additional info on the general subject:</p> <p>I've implemented a simple plugin API for a Flex app using the <a href="http://livedocs.adobe.com/flex/3/langref/mx/modules/ModuleManager.html" rel="nofollow noreferrer"><code>ModuleManager</code></a> class (and the other stuff in the <a href="http://livedocs.adobe.com/flex/3/langref/mx/modules/package-detail.html" rel="nofollow noreferrer"><code>mx.modules</code></a> package.) The gist of it is that you subclass plugins from <code>ModuleBase</code> and use <code>ModuleManager</code> in the host app to load them. Then you have the plugins implement a common interface (e.g. <code>IMyAppPlugin</code>) and use some sort of a <a href="http://en.wikipedia.org/wiki/Facade_pattern" rel="nofollow noreferrer">facade</a> to represent and implement the interface to the host application that the plugins can use (e.g. <code>MyAppFacade implements IMyAppFacade</code>.) Whenever plugins are loaded, inject this facade reference into them.</p> <p>The topic <a href="http://livedocs.adobe.com/flex/3/html/help.html?content=modular_2.html" rel="nofollow noreferrer">"Modular applications overview"</a> in the Flex 3 help has some good info (the subchapter <em>"Module domains"</em> discusses application domains in the context of modules.) Here's an excerpt:</p> <blockquote> <p><em>"By default, a module is loaded into a child domain of the current application domain. You can specify a different application domain by using the applicationDomain property of the ModuleLoader class."</em></p> </blockquote> <p>The topic <a href="http://livedocs.adobe.com/flex/3/html/help.html?content=18_Client_System_Environment_5.html#119371" rel="nofollow noreferrer">"Using the ApplicationDomain class"</a> goes into more depth on the subject of application domains, and you should definitely read it if you haven't already.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload