views:

8

answers:

1

With MXML components, I've seen a pattern used where you have an AS3 class, then the MXML subclasses it, to have a separation between view/code (anonymized from real code):

package com.john
{
 public class MyComponent extends Canvas
 {
  ...
 }
}

<?xml version="1.0" encoding="utf-8"?>
<logic:MyComponent xmlns:logic="com.john.*"
     xmlns:mx="http://www.adobe.com/2006/mxml"&gt;
 ...
</logic:MyComponent>

At least I think the MXML component is subclassing the AS3 class?

Anyway is it possible/advised to do this with my main MXML application file, so I can put manager instances and things in the AS3 MyApp class, which is subclassed by Main.MXML?

Real/pseudo code examples are most welcome.

A: 

It should be possible, looks like you just need to have your com.john.MyComponent base class extend spark.components.Application or mx.core.Application.

But whether it's advised or not, I don't see the benefits unless you are planning to reuse that base class somehow. If it's a heavy app class or just despise mxml, refactoring out implementation code to a startup command and composing any child views in another container will really lighten the app class. I'd even prefer the app class composing your current MyComponent over converting it to a base application class and extending.

Dave