Language agnostic 表示应用程序导航

Language agnostic 表示应用程序导航,language-agnostic,configuration,navigation,computer-science,Language Agnostic,Configuration,Navigation,Computer Science,我有一个包含许多页面的复杂应用程序 每个页面都可以有许多到其他页面的可能路径:“A”可以转到“B”或“C”,“B”可以转到“A”但不能转到“C”。等等 我当然不想在每个页面中嵌入“下一步该去哪里”的逻辑(恐怖!),而是想把它封装在一个主控制点中A’不需要知道B或C 更好的是,我想把问题归结为配置问题 这不是特定于语言/框架的问题,而是如何最好地(简单、实用)表示和解释工作流逻辑的问题 是否有人在应用程序中表示复杂的流作为可配置设置的经验?< P>您可以使用.NET工作流基础来表示这一点。 < P

我有一个包含许多页面的复杂应用程序

每个页面都可以有许多到其他页面的可能路径:“A”可以转到“B”或“C”,“B”可以转到“A”但不能转到“C”。等等

我当然不想在每个页面中嵌入“下一步该去哪里”的逻辑(恐怖!),而是想把它封装在一个主控制点中A’不需要知道B或C

更好的是,我想把问题归结为配置问题

这不是特定于语言/框架的问题,而是如何最好地(简单、实用)表示和解释工作流逻辑的问题


是否有人在应用程序中表示复杂的流作为可配置设置的经验?

< P>您可以使用.NET工作流基础来表示这一点。

< P>您可以使用类似.NET工作流基础的东西来表示这一点。

< P>这基本上是A。状态机,其中每个页面表示一个状态,转换存储在配置中。用谷歌搜索,你会得到一些可能有用的示例。

这基本上是一个状态机,其中每个页面代表一个状态,转换存储在你的配置中。谷歌搜索一下,你会得到一些可能有用的样本。

你所描述的是一个非常经典的例子。您有状态(页面)、导航(转换),但也可以有诸如进入/退出操作和转换条件之类的内容

话虽如此,还是值得考虑一下您的导航,您只是想在页面中动态添加一个导航选项列表,还是需要一些额外的智能功能。想想什么时候导航是有效的,导航需要什么信息,下一次导航可能需要带什么数据等等

我以前只使用XML创建过状态映射,例如:

<states>
  <state name="Open">
    <transition action="Close" state="Closed" />
  </state>
  <state name="Closed">
    <transition action="Open" state="Open" />
    <transition action="Lock" state="Locked" />
  </state>
  <state name="Locked">
    <transition action="Unlock" state="Closed" />
  </state>
</states>

你所描述的是一部非常经典的作品。您有状态(页面)、导航(转换),但也可以有诸如进入/退出操作和转换条件之类的内容

话虽如此,还是值得考虑一下您的导航,您只是想在页面中动态添加一个导航选项列表,还是需要一些额外的智能功能。想想什么时候导航是有效的,导航需要什么信息,下一次导航可能需要带什么数据等等

我以前只使用XML创建过状态映射,例如:

<states>
  <state name="Open">
    <transition action="Close" state="Closed" />
  </state>
  <state name="Closed">
    <transition action="Open" state="Open" />
    <transition action="Lock" state="Locked" />
  </state>
  <state name="Locked">
    <transition action="Unlock" state="Closed" />
  </state>
</states>


几乎每个Web应用程序框架都必须解决这个问题。对于java,请查看Struts2、SpringMVC、Tapestry、Wicket等,了解各种方法。(XML自然是在外部配置文件中捕获转换信息的常用方法。)

几乎每个Web应用程序框架都必须解决这个问题。对于java,请查看Struts2、SpringMVC、Tapestry、Wicket等,了解各种方法。(XML自然是在外部配置文件中捕获转换信息的常用方法。)

在一定程度上涵盖了这类内容。(在用户界面的设计和实现中使用状态机和状态图的显式表示。)

在一定程度上涵盖了这类内容。(在用户界面的设计和实现中使用状态机和状态图的显式表示。)

可为用户或开发人员配置?这是用于web应用程序还是软件?您是在谈论GUI吗?你的问题不是很清楚。对于这两个问题——由谁配置?那桂呢如果它做得对,那就不重要了,因为它在概念上的表示基本上是相同的。如果它是由用户配置的,那么只需要将地图/配置(不管是什么)呈现给用户进行编辑就行了。可配置给用户还是开发人员?这是用于web应用程序还是软件?您是在谈论GUI吗?你的问题不是很清楚。对于这两个问题——由谁配置?那桂呢如果它做得对,那就不重要了,因为它在概念上的表示基本上是相同的。如果要由用户进行配置,则只需将地图/配置(无论是什么)呈现给用户进行编辑。