私はマルチウィザードソフトウェアのためにシースルトンを設計しようとしており、これに対する良い解決策を見つけることはできません。私の考えはすべて複雑すぎて醜いです。 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
だから、私は2つのボタンを持つ単一のメインビュー「スタートWFA」を持っており、この場合のワークフロー「WFB」で「WFBを開始」、について例では、ビューに従わ示すことがあります。buttunが押されたキャンセル、それはすぐにメインビューに移動しなければならない場合
-> ViewA <-> ViewB <-> ViewC -> ViewC <-> ViewD ->
そのシーケンスは、バック/次のボタンについて説明します。
誰もがこの問題の明確で素敵な解決法を知っていますか?
ウィザード「ページ」を格納するためにどのようなコレクションを使用していますか? –
私は、ビュー、ウィザード、ワークフローの関係について混乱しています。 ViewA、ViewB、ViewC、ViewB、ViewD、ViewC、ViewDは、WfAを実行すると、ウィザード(View)を展開します。それらは同じフォーム/テンプレートで、異なるデータを表示するためだけに使用されていますか、実際に何度も同じことが見られますか? – gregmac