加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – DesignPatterns:哪个最适合用于向导式用户界面

发布时间:2020-12-16 06:56:08 所属栏目:asp.Net 来源:网络整理
导读:我正在实现一个向导式用户界面.当用户流向向导时,单击下一步,根据他们在每个屏幕上选择的选项,用户必须经过一组特定的向导屏幕. 这是在ASP.NET MVC中构建的.我想知道什么样的设计模式最适合实现向导中的步骤序列的逻辑.同样,根据他们的选择,他们在向导中有多
我正在实现一个向导式用户界面.当用户流向向导时,单击下一步,根据他们在每个屏幕上选择的选项,用户必须经过一组特定的向导屏幕.

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

我可以使用链表吗? “Command Design Pattern”?您有什么推荐的吗?

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

解决方法

To put it another way: Where/How do you abstract/encapsulate the logic of determining what is the next step in the wizard based on what the user has chosen on a particular step of the wizard?

一种方法是建模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
{
  //...
}

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

在这种情况下,它的向导决定下一步 – 可能基于向导正在构建的产品的状态.向导将在UI的控制下表现得像Builder,这将是Director并告诉向导何时以及在何种方向进行转换.由Wizard决定下一步实际是什么.可以支持多个分支点,但该实现将隐藏在向导内部.

步骤将是具有撤消/重做功能的Command Pattern的实例.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读