Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 异步应用程序设计_Actionscript 3_Oop_Design Patterns_Architecture - Fatal编程技术网

Actionscript 3 异步应用程序设计

Actionscript 3 异步应用程序设计,actionscript-3,oop,design-patterns,architecture,Actionscript 3,Oop,Design Patterns,Architecture,我正在ActionScript 3中构建一个应用程序: 向各种web服务发出web请求 在一些界面项上使用动画 接受用户输入,这有时是“愚蠢的”。例如,用户不想再等待web响应并取消操作 处理应用程序的所有可能状态以及协调来自已完成线程的所有回调(例如web服务请求)的最佳实践是什么 对于一个简单的应用程序,在应用程序的单例中存储一些属性就可以了。然而,对于更复杂的应用程序,这种跟踪的复杂性会以几何级数增长 示例:要启用特定按钮,应完成三个web请求,其中两个是连续的,一个使用上一个请求的结

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

  • 向各种web服务发出web请求
  • 在一些界面项上使用动画
  • 接受用户输入,这有时是“愚蠢的”。例如,用户不想再等待web响应并取消操作
处理应用程序的所有可能状态以及协调来自已完成线程的所有回调(例如web服务请求)的最佳实践是什么

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

示例:要启用特定按钮,应完成三个web请求,其中两个是连续的,一个使用上一个请求的结果,两个请求完成后,应使用幻灯片动画显示一个面板。如果用户决定在web请求或动画阶段取消该过程,他应该可以通过点击另一个按钮来取消该过程。这类作品有很多,逻辑和要求各不相同。到目前为止,我是通过回调和应用程序的单例变量来实现这一点的。回调的数量急剧增长


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

我的建议是花一些时间看看ActionScript 3.0中两个更流行的基于MVC的框架。这些都是专门为满足您以高度解耦的方式详细描述的需求而设计的,并使用了最佳实践

我已经用了几年了,发现它很轻,灵活,直观。它还有一个优势,就是得到了难以置信的良好支持(它的作者在论坛上大量参与回答问题),并且框架的知识可以转移,因为它已经被移植到多种其他语言()


一个好的框架将为您做出许多基本的体系结构决策,并让您可以自由地专注于实现。在理解框架之前,只需投入一点资金,规划应用程序(如您描述的应用程序)就变得容易多了,因为您将能够查看需求并立即开始将它们映射到所选框架的各个参与者

+1对于PureMVC,我必须同意它让我的生活变得更加轻松,因为它为我决定了在框架中放置代码的位置。