Я пытаюсь спроектировать скелет для своего мульти-волшебного программного обеспечения и не могу найти хорошего решения для этого. Все мои попытки слишком сложны и безобразны. Я использую NET CF и WinForms.
У меня есть количество просмотров: ViewA, ViewB, ViewC, ViewD и т. Д., У каждого просмотра есть кнопки «назад», «далее» и «отмена»
Эти виды используются мастерами, как показано ниже, каждый мастер имеет точку входа и конечную точку, а также может быть отменен.
WzrdA: -> ViewA <-> ViewB <-> ViewC ->
WzrdB: -> ViewB <-> ViewD ->
WzrdC: -> ViewC <-> ViewD ->
И, наконец, мастера объединяются в рабочие процессы:
WfA: ViewMain (start WfA) -> WzrdA -> WzrdB -> WzrdC -> back to ViewMain
WfB: ViewMain (start WfB) -> WzrdA -> WzrdC -> back to ViewMain
Итак, у меня есть один главный вид с двумя кнопками «Start WfA» и «Start WfB», в этом случае рабочий процесс «WfB», например, должен отображать следующие представления:
-> ViewA <-> ViewB <-> ViewC -> ViewC <-> ViewD ->
эта последовательность описывает кнопки «назад» / «вперед»; если была нажата кнопка «Отмена», она должна быть немедленно перемещена на главный экран.
Кто-нибудь знает ясное и хорошее решение этой проблемы?