From time to time I implement functionality which requires asking user questions sequentially.
Questions are conditional, that is the answer defines the set of the following questtiongs.
Sure it is Wizzard UI design pattern, but for now I have no clear understanding how it is implemented from the point of view of software architecture.
Screen/question can be a somewhat complex interface but most fo the time it's just a selection of several options.
Nonetheless after any step some calculations can be required, not only to get additional data but to define the set of questions.
I guess Strategy pattern has to do with this but I feel that the with this pattern the code which builds "execution flow" can become ugly.
Thanks in advance.