I ran into this similar problem with a mapping application I am
creating. There was allot of calculations require to render the map
image that were:
  - nothing to with services
  - were too small to pass through the cairngorm micro-architecture
  - were definitely not part of the view

I umm & arrghh about it for ages then found my solution, in part in this
great article on Adobe
<http://www.adobe.com/devnet/flex/articles/blueprint.html> . It speaks
of a means of creating RIA's without cairngorm (heaven forbid! ;) )  The
part that help me the most was the Controller mechanisms (page 7) A
Controller in the traditional MVC sence in that it has nothing to do
directly with services, unlike cairngorm.

I still am using a cairngorm based structure, it is too late to change
that if I wanted to. But now I have a Controller singleton (like the
modelLocator) that gives me access to all the key processing methods of
the app, basically a library of important methods.  It has been a great
addition, making things so much easier to access.

I access the methods on the Controller singleton inline like this as the
article does:
Controller.instance.registerInfoTip(data).... As opposed to setting a
'var model'  like we do with ModelLocator.

I found it so useful that I now access my Cairngorm services through the
Controller. It may seem a bit long-winded but serveral of my modules
need access to the same services so it make access reuse a breeze and
really keeps the code out of the view. Plus team member use of each
services is now a bit more seamless.

I hope that is helpful to you? It is working fantastically for me and
fixed my problem.  If you want more info or some sample code please ask.

Russell Munro
Corbell Web


Reply via email to