kind of off topic now.

i would actually look at slide, even for an existing app (if it uses
viewstacks and states) for navigation. it makes life much much easier.

Slide uri's map to paths inside a display tree so the url
/app/state/stateb/statec tells you that you have set the selected child for
3 viewstacks (thus making complex nav easier). also these uri's are really
xpath statements so /app/*/*/state will only filter on the last one. you can
even use xpath functions to make decisions on your navigation.

this is a gross simplification, but ping me offline, i have a plugin which
generates the slide app structure for you.

back to navigation. i also have a simple plugin which generates my nav
commands for me (slightly slide specific, but easily modifiable), either
with mememto or sans, which could help you in this. I use JET to generate
code a lot at the moment (i need an abstract factory, i need a set of
commands, i need an enum etc etc) which has kind of removed me from the
doldrums of implenting paterns to more thinking about the application as a
whole. of course generation is not a answer to all (i refuse to generate
actual implementation for long and arguable reasons).


On Thu, Jan 22, 2009 at 2:18 PM, nwebb <neilw...@gmail.com> wrote:

>   Thanks v much Johannes - Command was the only pattern I had considered
> thus far because I know it's often used for history/undo functionality -
> interested to look at memento in conjunction. Useful info as always :)
>
> On Thu, Jan 22, 2009 at 12:08 PM, Johannes Nel <johannes....@gmail.com>wrote:
>
>>   Depending on the application type, the command pattern works quite
>> nicely with navigation. You can then also implement a memento more easily
>> and have the command support an "undo" function allowing you to go back and
>> forth.
>>
>> we use slide (obviously) and the uri based navigation (based on states)
>> work really well with this approach as well.
>>
>>
>>
>> On Thu, Jan 22, 2009 at 11:02 AM, nwebb <neilw...@gmail.com> wrote:
>>
>>>   Thanks guys for all your responses so far.
>>> To clarify, it is a multi-step process (with a few possible branches).
>>>
>>> Tracy/Jim, for the most part I agree. Ideal if I was given the scope to
>>> re-design the application, but I've just been handed the task of re-writing
>>> the step-process logic. The client is very happy with what they have, so it
>>> is a decision that is out of my hands.
>>>
>>> I am mainly looking for suggestions for (code) design
>>> patterns/micro-architectures out there that handle this sort of thing - not
>>> a fully-fledged framework.
>>>
>>> I did like the look of the book Haykel recommended, even though it was
>>> not code-based so I may well purchase it too - thanks.
>>>
>>> Cheers,
>>> Neil
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Wed, Jan 21, 2009 at 9:02 PM, jim.abbott45 <jim.abbot...@yahoo.com>wrote:
>>>
>>>>
>>>> FWIW, I have to concur with the advice that Tracy gave you and I can
>>>> also recommend--HIGHLY--the content at the link that Haykel gave you.
>>>>
>>>> In short, use Wizard-style navigation for
>>>> infrequent/complex/inherently multi-step tasks. For the rest of
>>>> (usually, most of) your tasks, use a more fluid navigational
>>>> mechanism, such as Hub-and-Spoke.
>>>>
>>>> --Jim
>>>>
>>>>
>>>> --- In flexcoders@yahoogroups.com <flexcoders%40yahoogroups.com>, nwebb
>>>> <neilw...@...> wrote:
>>>> >
>>>> > Hi,
>>>> >
>>>> > We have a modular Flex project.
>>>> > Each screen has "back" and "next " buttons.
>>>> >
>>>> > There are various routes through the application and I'm about to
>>>> re-write
>>>> > the logic which determines where the buttons take the user when they
>>>> are
>>>> > pressed (what is already in place is overly complex).
>>>> >
>>>> > I'm guessing that there are fairly established methods for achieving
>>>> this
>>>> > and would be interested to see what exists, rather than roll out a
>>>> bespoke
>>>> > solution. Can anyone point me in the direction of a good resource?
>>>> >
>>>> > Cheers,
>>>> > Neil
>>>> >
>>>>
>>>>
>>>
>>
>>
>> --
>> j:pn
>> \\no comment
>>
>
>  
>



-- 
j:pn
\\no comment

Reply via email to