2

我正在用 ActionScript 3 构建一个应用程序,它:

  • 向各种网络服务发出网络请求;
  • 在一些界面项目上使用动画;
  • 接受用户输入,这有时是“愚蠢的”。例如,用户不想再等待 Web 响应并取消操作。

处理应用程序的所有可能状态以及协调来自已完成线程(例如 Web 服务请求)的所有回调的最佳实践是什么?

对于一个简单的应用程序,在应用程序的单例中存储一些属性就可以完成这项工作。然而,对于更复杂的应用程序,这种跟踪的复杂性以几何级数增长。

示例:要启用特定按钮,应该完成三个 Web 请求,其中两个是顺序的,一个使用前一个的结果,两个都完成后,应该出现一个使用幻灯片动画的面板。如果用户决定在 Web 请求或动画阶段取消该过程,他应该能够通过点击另一个按钮来执行此操作。这种类型的作品有几十个,具有不同的逻辑和要求。到目前为止,我正在使用回调和 App 的 Singleton 变量来执行此操作。回调的数量急剧增加。

规划这样的应用程序变得相当困难。还请建议一种以示意图方式绘制此类逻辑和依赖关系的方法?我还不习惯 UML,简单的算法方案对我来说更熟悉。

4

1 回答 1

3

我的建议是花一些时间研究一些更流行的基于 MVC 的 ActionScript 3.0 框架。这些是专门为满足您以高度解耦的方式和使用最佳实践而详述的需求而设计的。

我已经使用PureMVC几年了,发现它轻巧、灵活且直观。它还具有得到难以置信的良好支持的优势(它的作者大量参与回答论坛上的问题),并且该框架的知识可以转移,因为它已被移植到各种其他语言(最近的 JavaScript)。

一个好的框架将为您做出许多基本的架构决策,让您可以自由地专注于实现。通过在理解框架方面进行一些前期投资,规划应用程序(如您所描述的应用程序)变得更加容易,因为您将能够查看需求并立即开始将它们映射到所选框架的各个参与者。

于 2012-05-29T01:21:49.493 回答