我正在用 ActionScript 3 构建一个应用程序,它:
- 向各种网络服务发出网络请求;
- 在一些界面项目上使用动画;
- 接受用户输入,这有时是“愚蠢的”。例如,用户不想再等待 Web 响应并取消操作。
处理应用程序的所有可能状态以及协调来自已完成线程(例如 Web 服务请求)的所有回调的最佳实践是什么?
对于一个简单的应用程序,在应用程序的单例中存储一些属性就可以完成这项工作。然而,对于更复杂的应用程序,这种跟踪的复杂性以几何级数增长。
示例:要启用特定按钮,应该完成三个 Web 请求,其中两个是顺序的,一个使用前一个的结果,两个都完成后,应该出现一个使用幻灯片动画的面板。如果用户决定在 Web 请求或动画阶段取消该过程,他应该能够通过点击另一个按钮来执行此操作。这种类型的作品有几十个,具有不同的逻辑和要求。到目前为止,我正在使用回调和 App 的 Singleton 变量来执行此操作。回调的数量急剧增加。
规划这样的应用程序变得相当困难。还请建议一种以示意图方式绘制此类逻辑和依赖关系的方法?我还不习惯 UML,简单的算法方案对我来说更熟悉。