Hey, a fellow Kiwi? Cool :) I am based out of Christchurch...

Having used Cairngorm plenty in the past, I always found it pretty
excellent, just a little out of date these days perhaps -- your changes
sound (IMHO) sane and reasonable, as does your decision to go with Cairngorm
if you are integrating with other Cairngorm apps. If you get the chance to
blog about it and/or contribute your changes, I'm sure you'd find some
appreciative folks out there.

You mentioned Supervising Controller by Martin Fowler; did you know he has
another variant of that same idea called Presentation Model?
http://martinfowler.com/eaaDev/PresentationModel.html

I can't remember the subtleties right now (and don't have time to refresh my
memory!) but you might want to check it out. I find Fowler's articles great
to clarify ones own thinking (and/or convince other devs to stop
/removing/good/code/?!?!)

Best of luck with that aye

Jules

On Wed, Dec 17, 2008 at 22:48, Errol Thompson <[email protected]> wrote:

>   Thanks for the helpful comments and suggestions. Here is what I have
> already
> looked at.
>
> We looked at PureMVC for the project that I am on but stayed with Cairngorm
> because of the applications already written in Cairngorm that are also part
> of the project. However, we have written a version of notifier and
> notification that are similar to PureMVC. After all that is simply an
> implementation of the observer pattern.
>
> The other programmer on the project doesn't believe that automated tests
> are
> worth having and doesn't understand how to write code that improves the
> ability to test so there is a bit of a challenge.
>
> We are also using Maven for the build. The build incorporates Java host
> modules as well as the Flex code. Our directory structure reflects the
> Maven
> naming conventions src/main/flex and src/test/flex. The Flex Mojo builds
> its
> own test runner for FlexUnit tests so I have created a test application in
> the src/flex/main directory alongside the actual application file. This
> allows me to run either the tests or the application from with in Flex
> Builder.
>
> My thoughts on getting around Cairngorm are to create an application
> controller which holds a reference to the model, services, and front
> controller. All other modules reference the application controller to
> obtain
> a reference to these. Cairngorm doesn't really care whether the model is a
> singleton but does require the front controller and may be services to be a
> singleton. However, using the application controller, I am able to mock out
> the front controller and services. This allows me to trap the command calls
> for events and the calls to get services.
>
> The other thing that I tried to put in place was what Martin Fowler calls a
> Supervising Controller for each view (this is similar to PureMVC's
> mediator). This has been removed for some views by the other programmer but
> for the view that I am currently working on, it appears to be working well,
> and the mxml view has no ActionScript in it. All events and status
> variables
> are in the supervising controller. The view binds to the model and status
> values. So far this seems to be working well and although I haven't written
> tests for it yet, I believe that it shouldn't be too difficult.
>
> Using the notifier and notifications, we are able to have the supervising
> controller receive notification of events that update the status variables
> thus eliminating the need for a view locator. These status variables could
> easily be considered part of the model except that we have multiple views
> within the application and that would mean creating special model elements
> for each view to help make it clear what each of the status variables are
> associated with. My thinking is that this makes the supervising controller
> even of more value since it is clear where status values for the view are
> held.
>
> I hope to blog on this later once I have conducted more experiments and
> also
> on comparisons between Cairngorm and PureMVC. I have already done some
> comparison of Flex based testing frameworks (http://kiwi-et.blogspot.com/
> ).
>
>
> ---------------------------------
> Errol Thompson
> Kiwi-ET Computing Education Research
> Wellington, New Zealand
> Phone: +64 21 210 1662
> E-Mail: kiwiet (at) acm.org
> kiwiet (at) computer.org
> Web: www.teach.thompsonz.net
> ---------------------------------
>
>    Messages in this topic
> <http://groups.yahoo.com/group/flexcoders/message/132508;_ylc=X3oDMTM5MjgyNmx2BF9TAzk3MzU5NzE0BGdycElkAzEyMjg2MTY3BGdycHNwSWQDMTcwNTAwNzIwNwRtc2dJZAMxMzI3MzQEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxMjI5NTIyNzA1BHRwY0lkAzEzMjUwOA-->(
> 16)  Reply (via web post)
> <http://groups.yahoo.com/group/flexcoders/post;_ylc=X3oDMTJzbHNoajNhBF9TAzk3MzU5NzE0BGdycElkAzEyMjg2MTY3BGdycHNwSWQDMTcwNTAwNzIwNwRtc2dJZAMxMzI3MzQEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxMjI5NTIyNzA1?act=reply&messageNum=132734>|
>  Start
> a new topic
> <http://groups.yahoo.com/group/flexcoders/post;_ylc=X3oDMTJmbG9xOWtvBF9TAzk3MzU5NzE0BGdycElkAzEyMjg2MTY3BGdycHNwSWQDMTcwNTAwNzIwNwRzZWMDZnRyBHNsawNudHBjBHN0aW1lAzEyMjk1MjI3MDU->
>  
> Messages<http://groups.yahoo.com/group/flexcoders/messages;_ylc=X3oDMTJmNWpuMGZiBF9TAzk3MzU5NzE0BGdycElkAzEyMjg2MTY3BGdycHNwSWQDMTcwNTAwNzIwNwRzZWMDZnRyBHNsawNtc2dzBHN0aW1lAzEyMjk1MjI3MDQ->
>  --
> Flexcoders Mailing List
> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> Alternative FAQ location:
> https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-1e62079f6847
> Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
>  MARKETPLACE
>  ------------------------------
> From kitchen basics to easy recipes - join the Group from Kraft Foods
> <http://us.ard.yahoo.com/SIG=13rn0mi74/M=493064.12016295.13271503.10835568/D=groups/S=1705007207:MKP1/Y=YAHOO/EXP=1229529905/L=/B=TFH9QULaX.k-/J=1229522705602988/A=5530388/R=0/SIG=11nuutlas/*http://explore.yahoo.com/groups/kraftmealsmadesimple/>
>   [image: Yahoo! 
> Groups]<http://groups.yahoo.com/;_ylc=X3oDMTJlaTQ5MmNlBF9TAzk3MzU5NzE0BGdycElkAzEyMjg2MTY3BGdycHNwSWQDMTcwNTAwNzIwNwRzZWMDZnRyBHNsawNnZnAEc3RpbWUDMTIyOTUyMjcwNQ-->
> Change settings via the 
> Web<http://groups.yahoo.com/group/flexcoders/join;_ylc=X3oDMTJndGtpcDI5BF9TAzk3MzU5NzE0BGdycElkAzEyMjg2MTY3BGdycHNwSWQDMTcwNTAwNzIwNwRzZWMDZnRyBHNsawNzdG5ncwRzdGltZQMxMjI5NTIyNzA1>(Yahoo!
>  ID required)
> Change settings via email: Switch delivery to Daily 
> Digest<[email protected]?subject=email+delivery:+Digest>| 
> Switch
> format to 
> Traditional<[email protected]?subject=change+delivery+format:+Traditional>
>  Visit Your Group
> <http://groups.yahoo.com/group/flexcoders;_ylc=X3oDMTJlaDA5MDhxBF9TAzk3MzU5NzE0BGdycElkAzEyMjg2MTY3BGdycHNwSWQDMTcwNTAwNzIwNwRzZWMDZnRyBHNsawNocGYEc3RpbWUDMTIyOTUyMjcwNQ-->|
>  Yahoo!
> Groups Terms of Use <http://docs.yahoo.com/info/terms/> | Unsubscribe
> <[email protected]?subject=>
>    Recent Activity
>
>    -  48
>    New 
> Members<http://groups.yahoo.com/group/flexcoders/members;_ylc=X3oDMTJnMHIzNWF0BF9TAzk3MzU5NzE0BGdycElkAzEyMjg2MTY3BGdycHNwSWQDMTcwNTAwNzIwNwRzZWMDdnRsBHNsawN2bWJycwRzdGltZQMxMjI5NTIyNzA0>
>
>  Visit Your Group
> <http://groups.yahoo.com/group/flexcoders;_ylc=X3oDMTJmMTdpMW5qBF9TAzk3MzU5NzE0BGdycElkAzEyMjg2MTY3BGdycHNwSWQDMTcwNTAwNzIwNwRzZWMDdnRsBHNsawN2Z2hwBHN0aW1lAzEyMjk1MjI3MDQ->
>  Yahoo! Finance
>
> It's Now 
> Personal<http://us.ard.yahoo.com/SIG=13ouv91kf/M=493064.12016257.12445664.8674578/D=groups/S=1705007207:NC/Y=YAHOO/EXP=1229529905/L=/B=TlH9QULaX.k-/J=1229522705602988/A=4507179/R=0/SIG=12de4rskk/*http://us.rd.yahoo.com/evt=50284/*http://finance.yahoo.com/personal-finance>
>
> Guides, news,
>
> advice & more.
>  Need traffic?
>
> Drive 
> customers<http://us.ard.yahoo.com/SIG=13of5g73a/M=493064.12016308.12445700.8674578/D=groups/S=1705007207:NC/Y=YAHOO/EXP=1229529905/L=/B=T1H9QULaX.k-/J=1229522705602988/A=3848644/R=0/SIG=131l83flq/*http://searchmarketing.yahoo.com/arp/srchv2.php?o=US2006&cmp=Yahoo&ctv=Groups5&s=Y&s2=&s3=&b=50>
>
> With search ads
>
> on Yahoo!
>  Y! Groups blog
>
> The place to 
> go<http://us.ard.yahoo.com/SIG=13ocgseol/M=493064.12016258.12582637.8674578/D=groups/S=1705007207:NC/Y=YAHOO/EXP=1229529905/L=/B=UFH9QULaX.k-/J=1229522705602988/A=5191953/R=0/SIG=112mhte3e/*http://www.ygroupsblog.com/blog/>
>
> to stay informed
>
> on Groups news!
>   .
>

Reply via email to