0

我正在构建一个包含十几个不同屏幕的 Flex 应用程序。屏幕之间存在关系,例如当在屏幕 1 上时,我单击作为屏幕 2 的输入的东西。然后我可能会调出屏幕 3,然后返回到屏幕 2,然后调出屏幕 4。为了让用户在应用程序中的哪个位置,我们希望实现一个面包屑概念,用户可以在其中看到他们所在的屏幕并能够导航回他们来自的路径。

所以在考虑如何实现这一点时,在我看来,我应该有一堆视图。视图被推入堆栈,然后弹出。面包屑将是该堆栈的可视化描述,例如:主页 >> 警报 123 >> 客户 B 总结 >> 客户 B 详细信息

话虽如此,我正在尝试提出一个如何实现这一点的模式。显而易见的起点是将 mx:ViewStack 作为容器。然后我将视图添加为子视图并使它们可见 - 有效地“推”然后到视图堆栈上。然后要关闭该屏幕,我会将它们作为孩子移除以“弹出”它们。这将不得不在面包屑能够看到的某个地方更新一些堆栈数据结构。事实上,当用户单击面包屑中的某个项目以跳转到时,面包屑本身可以修改堆栈。

无论如何,我将致力于此,但只是好奇是否有人可以分享您用来管理多个屏幕的任何模式/框架以及它们如何出现和消失并在它们之间导航,我可以用于一些想法。

似乎是一件简单的事情,但在实践中并不总是直截了当。

4

2 回答 2

2

我认为 MVC 有助于组织您的代码并拥有一个可重复使用的应用程序。

没有 100% 的设计模式,大多数时候它是你实现它的方式。

我发现 mvc 在有很多视图时很棒,因为它使您的 mxml 非常干净和小巧,并且当您添加功能时,您可以在纯 as 类中执行它,从而使您的代码不会复杂化。

于 2009-12-12T12:30:21.710 回答
1

Just throwing some ideas, hoping it can help ... Maybe you could use the memento pattern? Or use a command pattern with a CommandStack?

于 2009-12-12T08:33:13.480 回答