Futurescale, Inc. PureMVC Home

The PureMVC Framework Code at the Speed of Thought


Over 10 years of community discussion and knowledge are maintained here as a read-only archive.

New discussions should be taken up in issues on the appropriate projects at https://github.com/PureMVC

Pages: [1]
Print
Author Topic: Where to put a Timer within a PureMVC Application  (Read 9495 times)
valley
Newbie
*
Posts: 4


View Profile Email
« on: October 31, 2008, 03:00:31 »

Hi there,

i've built a "normal" PureMVC-based Application.
Now i have the extension, that every minute the loaded XML data (accessible over a Proxy) has to
be parsed and data that is bound to the current time slot should be made graphical visible in the
view component.
The only question i have is: Where in this PureMVC application should the Timer be created and run, View,
Controller or Proxy ?

Thank you for your help.
Best regards
valley
Logged
Jason MacDonald
Sr. Member
****
Posts: 243


View Profile Email
« Reply #1 on: October 31, 2008, 05:41:12 »

Proxy, it is responsible for the retrieval and parsing of the XML. Then have it send a notification to update the view with the new data.
Logged
marek
Jr. Member
**
Posts: 14



View Profile WWW Email
« Reply #2 on: November 07, 2008, 07:02:51 »

Based on my understanding of pureMVC architecture I do agree with jasonmac. I was struggling with similar problem at the beginning there for can see few possible solutions.
1.   Timer could be a integral part of proxy and could be start/stop by command depending on view behaviour for different part of application. Let’s say you have a rss reader component that allows you to switch between feeds and personalize timer delay. That option works for me if I wish my proxy instance to send a notification with data to my view every period of time.
However…
2.   Also reasonable it seems to create timer within the view and send notification for update a view every period of time especially if you wish to have additional view behaviour fired like small preloader every   time you ask for new data. That approach also doesn’t force you to send notification to the proxy once view “is closed” by user. You just need to make sure that you remove timer ‘on close’
3.   Another option  that might work for me is to create TimerProxy that could handle lot of different actions depending on dataflow, user or other actors behaviour based and public fields that could be modified externally. That seems be quite good approach if you wish to keep all sending notifications related to your timer in one place.

I am not sure that my ideas are good enough. I am new pureMVC user as well so still learning. However If I understand your problem… XMLDataProxy seems to be cool place to have a timer itself it is just a simple application. ^^
Logged
puremvc
Global Moderator
Hero Member
*****
Posts: 2871



View Profile WWW Email
« Reply #3 on: November 07, 2008, 06:59:19 »

You could do it either way. The model could emit notifications at timed intervals or your view could query the model at timed intervals.

Either way is equally acceptable.

-=Cliff>
Logged
PieterGrobler
Newbie
*
Posts: 8


View Profile Email
« Reply #4 on: November 11, 2008, 07:21:51 »

What if you have a variable number of proxies (that change dynamically), that need to react on a global timer event? Since they don't listen, what would be the best approach in this case?
Logged
puremvc
Global Moderator
Hero Member
*****
Posts: 2871



View Profile WWW Email
« Reply #5 on: November 11, 2008, 08:07:45 »

Have the Timer call a method on the proxy.
-=Cliff>
Logged
Pages: [1]
Print