"as it's great to see the technology challenged"

True indeed, I think other unique frameworks would highlight more, any
strengths or weaknesses in Cairngorm.

So far Cairngorm holds the flex framework's heavyweight belt, time for some
new contendors....

-----Original Message-----
From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of Scott Barnes
Sent: Tuesday, 15 November 2005 10:44 AM
To: flexcoders@yahoogroups.com
Subject: Re: [flexcoders] Cairngorm is bad?

Interesting read and well thought out.

Couple of things:

"..FrontController for command accessing - I see no reason why I have to
look up somehting by name rather that access directly. It gives nothing but
pain because it does not make Command free of knowing about the View and the
Model, the dependency still remains.."

---
I've probably used it in a different manner, but essentially i tend to
broadcast an event request, rather then accessing it direct. Commands can
change, but their verbing doesn't or better yet you can disable a command by
capturing it and diverting it to a swap out sequence...ie not sure how you
mean the view access the front controller direct? - as for model? again, you
get a result with a command, how do you abstract that cleanly? ie where do
you store that commands result stack? i think the objective for Model in
Cairngorm was to formalize the overall "how it gets stored" vs free for all
memory storage.


"..Almost everything is static - Singleton is antipattern, since it does not
allow inheritance. It means I cannot enhance FrontController, ServiceLocator
etc. Also I do not understand why ModelLocator is static. Static model is
bad since you cannot have 2 instances of window that has different models.
The best practice is to have everything non-static and bind in run time.
Otherwise it becomes not OOP and you finally come to the situation when you
cannot extend your functionality without complete re factoring..."

--
Right tool right job... Static has gains, more so you don't need to write
some long winded factory method to access a singleton or something along
those lines. As then their is now a reliance on it first being initialized
in memory, secondly did it succeed or fail and lastly then access it.

Static can be used to implement instance based nodes, its perfectly
legitimate to use a static class as a facade to your memory cache or
instance specific nodes? isn't OOP more about abstraction of complexity? the
semantics of how to me are "whatever blows your hair back" weighted
arguments? (ie not sure i'd back your decision on this one fully, partially
yes, but not fully).



"...Single command instances :) I was surprised but in suggested
FrontController all events of the same name are handled by the same command
instance. It is completely wrong usage of the command pattern that
considering that you are always create new command instance upon execution.
Without this you cannot implement such stuff as undo/redo (actually it is
the only case when you need command, only for undo/redo). But don't 99% of
your functionality does not requires undo/redo. Then why you use commands,
and why you use it wrong way?
The answer is: To make your code contain more lines and more files, to say
you manager that the framework requires lots of work, but is is
architectured by megaguys and they cannot be wrong. Remember EJB? I do.."

I can't speak for i2 guys on this one, but to me i think the overall level
of thinking was more about memory then anything else. Unlike other languages
or platforms, we in the FLEX world (ie FLEX 1.5
especially) have a limited usage of memory, the more we take up, the slower
things get. So its in our best interest to unload as much as we can as soon
as we can, especially with previous versions of Flash Player having issues
with automated Garbage Collection.  That being said, the new and latest FLEX
2.0 has a lot more powers at hand, so this could be revisited in a new light
- that's for people like yourself and others on this list to flood the
Cairngorm development team with suggestions..so they can be debated and
weighed up against the overall purpose of why the framework exists.

Writing a Framework is never going to be the complete universal way of life,
the purpose of a framework is to increase delivery and abstract complexity
where possible. Cairngorm does that, the semantics of how and why are more
about theology. In that if you wanted to implement the above and you *HAVE*
to use the Cairngorm way of life, you can, there are avenues to do this, it
just requires your mode of thinking to be a bit more agile in execution.

That being said, feel free to write one based on cairngorm or other, as the
more out there the more we can cherry pick and hopefully come together on a
more battle tested and power-focused framework.?

Interesting read though and i (flexcoder member badge #221312) would love to
see more talk like this here, as it's great to see the technology challenged
(whether thats frameworks or as2).

On 11/15/05, Mykola Paliyenko <[EMAIL PROTECTED]> wrote:
> Dear Flexcoders.
> I want to start here discussion about development enterprise 
> applications using Flex. Our company has choosen Cairngorm as a 
> framework to do it, but I believe it has some drawbacks My comments 
> are here:
> http://jroller.com/page/mickolka?entry=cairngorm_is_bad
> I'm new to Flex but not new to the ActionScript and JavaScript, also I 
> know lots of Java Web MVC frameworks so I have a vision about how 
> framework should look like to make your project succeed.
> Thanx for any comments.
>
> Regards,
> Mykola
>
>
>
>
>
> --
> 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
>
>
>
>
>
>
>


--
Regards,
Scott Barnes
http://www.mossyblog.com


------------------------ Yahoo! Groups Sponsor --------------------~--> Fair
play? Video games influencing politics. Click and talk back!
http://us.click.yahoo.com/T8sf5C/tzNLAA/TtwFAA/nhFolB/TM
--------------------------------------------------------------------~-> 

--
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



 




------------------------ Yahoo! Groups Sponsor --------------------~--> 
Get Bzzzy! (real tools to help you find a job). Welcome to the Sweet Life.
http://us.click.yahoo.com/A77XvD/vlQLAA/TtwFAA/nhFolB/TM
--------------------------------------------------------------------~-> 

--
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