That's what I thought Jester.  So the problem is not with the 
commands but rather with the delegates.  The samples provided 
similar code to this:

   var delegate : GetAuthorsDelegate = new GetAuthorsDelegate();

I'll make these singletons and see if that clears up the problem.

Thanks,

- TH


--- In flexcoders@yahoogroups.com, "JesterXL" <[EMAIL PROTECTED]> wrote:
>
> Cairngorm at start up creates a single instance of a command class 
at start 
> up.
> 
> ARP, another framework like Cairngorm, creates an instance of a 
command when 
> it's called.
> 
> Multiple calls to a Cairngorm command via EventBroacaster use the 
same 
> Command instance.
> 
> Multiple calls to an ARP command via EventBroacaster use a new 
Command 
> instance.
> 
> While I've been told Commands should be stateless, I disagree.  
Since you 
> can't block in Flash Player and everything is asyncronous, I think 
Commands 
> should have some form of state, even if this state is internal, 
and is 
> merely in the form of callback functions that it only uses for 
itself (aka 
> private).
> 
> That said, Cairngorm's low-level design clearly believes and 
encourages 
> stateless Commands since only 1 instance of a Command class every 
exists.
> 
> Cairngorm keeps a reference to the Command class instances, so 
they don't 
> really ever go out of scope because they are kept internally in 
the commands 
> array.
> 
> I know that's not a solution, just information, but figured 
important 
> nonetheless.
> 
> ----- Original Message ----- 
> From: "Tim Hoff" <[EMAIL PROTECTED]>
> To: <flexcoders@yahoogroups.com>
> Sent: Monday, April 17, 2006 12:46 PM
> Subject: [flexcoders] Cairngorm2 Commands and Singletons
> 
> 
> Apparently, there has been much discussion concerning singletons
> here already, but the search feature of this site doesn't seem to
> ever return complete results.  Coming from a .NET background, I've
> had to change a lot my thinking in regards to objects. This is a
> good thing.  However, in .NET (VB.NET, C#.NET Java.NET) when an
> object is instantiated, let's say a class in this case, as soon as
> the object goes out of scope, it is automatically disposed of by 
the
> garbageCollector.  This doesn't seem to be the case in AS3.  I've
> patterned an application on the Cairngorm samples that have been
> provided so far.  The samples are great and I really appreciate
> them, but none of them make multiple calls to the back-end.  Using
> the code provided, if I execute multiple search commands (let's say
> getAuthors), each one of the command instances, along with the
> associated event listeners and objects, still exist after the 
result
> or fault is returned.  Thus, when an error is displayed
> like: "Sorry, no authors found.", since all of the
> commands/delegates are still listening to the data service, a
> separate alert box appears for each instance of the command.  Three
> calls, three alert boxes.
> 
> I'm not sure if I should make the commands and delegates 
singletons,
> or manually dispose (delete _oSingleton) of the instances.  Since
> the application is Cairngorm based, I don't want to stray too far
> from best practices.  I was just wondering if anyone else had
> experienced this problem and if there were some links or advice 
that
> could be offered?  I also want to say that I think that the Adobe
> team is doing a great job.  I can't wait for the release of Flex2.
> It's going to turn a lot of heads.
> 
> Many thanks,
> Tim Hoff
> 
> P.S.  It would be nice to have something like the following:
> 
> public singleton class myClass {}
> 
> 
> 
> 
> 
> 
> 
> 
> --
> Flexcoders Mailing List
> FAQ: 
http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> Search Archives: http://www.mail-archive.com/flexcoders%
40yahoogroups.com
> Yahoo! Groups Links
>







--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to