4 comments

[ 3.5 ms ] story [ 23.0 ms ] thread
The diagram resembles a decision table:

http://en.m.wikipedia.org/wiki/Decision_table

Does the rest of the article seem to resemble a state machine to you, or do you see an obvious way that the classes he wrote could be used to create a state machine? Because I do not.
Hi,

The main peculiarity about this solution is that on this case we had a complex input type, where a transition on an inner element may influence the state on the outer element.

For example, given the following structure:

- A1 (state=1)

-- B1 (state=2)

--- C1 (state=5)

-- B2 (state=3)

If the state of C1 changes, then this change should be considered by the B predicates, and so should the A predicates.

After all, for the example in specific we are returning all the updated statuses in a list, as in our case we needed to show what was the difference on the overall state after the execution.

Nice article! After deeper thoughts i finally realized what bothers me about it: It doesn´t address the inner dependencies between those transitions. By your comment above, it´s not a big deal because of this kind of hierarchical structure you described, but it was not clear when i first read it.