DesignPatterns:哪种最适合用于向导式用户界面?

7wp*_*7wp 5 asp.net-mvc design-patterns wizard

我正在实现一个向导式用户界面.当用户流向向导时,单击下一步,根据他们在每个屏幕上选择的选项,用户必须经过一组特定的向导屏幕.

这是在ASP.NET MVC中构建的.我想知道什么样的设计模式最适合实现向导中的步骤序列的逻辑.同样,根据他们的选择,他们在向导中有多条路径.

我可以使用链表吗?" 命令设计模式 "?您有什么推荐的吗?

换句话说:在何处/如何根据用户在向导的特定步骤中选择的内容,抽象/封装确定向导中下一步的逻辑?

Ric*_*aca 1

换句话说:您在哪里/如何抽象/封装根据用户在向导的特定步骤中选择的内容来确定向导中的下一步是什么的逻辑?

一种方法是对 Wizard、Step 和 Product 类进行建模。也许是这样的?

public class Wizard
{
  public Step forward() {//...}

  public Step backward() {//...}

  public Step current() {//...}

  public Product getProduct() {//...}
}

public class Step
{
  public String name() {//...}

  public void commit(Product product) {//...}

  public void rollback(Product product) {//...}
}

public class Product
{
  //...
}
Run Code Online (Sandbox Code Playgroud)

向导的目的是构建产品(汽车、计算机、假期等)。

在这种情况下,由向导决定下一步 - 可能基于向导正在构建的产品的状态。Wizard 将像UI 控制下的Builder一样工作,而 UI 将充当主管并告诉 Wizard 何时以及向哪个方向进行转换。由向导来决定下一步实际上是什么。可以支持多个分支点,但该实现将隐藏在向导内。

步骤将是具有撤消/重做功能的命令模式的实例。