我实现一个向导样式的用户界面。作为用户流经向导,点击未来,取决于他们选择每个屏幕上的选项,用户必须要经过一定的设置向导屏幕。

此正在修建的ASP.NET MVC。我想知道什么设计模式,将最适合实施的是在向导的步骤顺序的逻辑。再次,它们取决于它们做出选择通过向导具有多条路径。

我能使用链表?将 “命令设计模式”?你有什么建议?

要换个说法:在哪里/你如何抽象/封装确定什么是基于什么样的用户选择在向导的特定步骤

向导下一步的逻辑是什么?
有帮助吗?

解决方案

  

要换个说法:在哪里/你如何抽象/封装确定什么是基于什么样的用户选择在向导的特定步骤

向导下一步的逻辑是什么?

这样做将是向导,步骤,和产品类建模的一种方法。也许是这样的?

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
{
  //...
}

向导的目的是要建立一个产品(汽车,计算机,度假等)。

在这种情况下,它的向导决定下一步的操作 - 也许是基于该向导构建产品的状态。向导会像个构建器 UI的控制下,这将是董事告诉向导时,以及在什么方向转型做。它是由向导决定什么,下一步实际上是。多个分支点可以支持,但执行会被隐藏起来,里面向导。

步骤将是命令模式与撤消/恢复能力。

其他提示

在“国家”模式可能是有意义的,如果你想允许用户向前和向后导航通过向导。

一个工作流模式也可能是有意义。也许调查使用Windows工作流基础。

我喜欢保持简单。我把我用步数建立对象的值,所以如果我建了一个保险我会对指示哪一步是对政策的属性。然后,我有那就是路由器,并期待在政策和决定了下一个发送,您可以建立额外的逻辑到该路由器上跳过步骤,或者你可以把逻辑在每一步的方法和重定向回路由器中的一个方法方法

我有博同意。

实际上,如果需要一组复杂的规则的导航逻辑,那么你有一个向导GUI明智的,但不是在引擎盖下的向导。

如果什么都想要打造的是一个真正的精灵,每个屏幕应该流入最多2-3个不同的屏幕(IMO)。这可以很容易地存储到一个非常简单的结构(数据库,静态的配置文件)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top